亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何調整UITextView的內容大小?

如何調整UITextView的內容大???

iOS
富國滬深 2019-06-05 16:07:26
如何調整UITextView的內容大小?有什么好方法來調整UITextView以符合它的內容?比如說我有一個UITextView其中包含一行文本:"Hello world"然后,我添加另一行文本:"Goodbye world"可可有什么好辦法rect它將容納文本視圖中的所有行,這樣我就可以相應地調整父視圖了嗎?作為另一個例子,查看Calendar應用程序中事件的Notes字段-注意單元格(以及UITextView它包含)展開,以保存注釋字符串中的所有文本行。
查看完整描述

2 回答

?
犯罪嫌疑人X

TA貢獻2080條經驗 獲得超4個贊

這適用于IOS 6.1和IOS 7:

- (void)textViewDidChange:(UITextView *)textView{
    CGFloat fixedWidth = textView.frame.size.width;
    CGSize newSize = [textView sizeThatFits:CGSizeMake(fixedWidth, MAXFLOAT)];
    CGRect newFrame = textView.frame;
    newFrame.size = CGSizeMake(fmaxf(newSize.width, fixedWidth), newSize.height);
    textView.frame = newFrame;}

或在SWIFT中(在IOS 11中與SWIFT4.1一起工作)

let fixedWidth = textView.frame.size.width
let newSize = textView.sizeThatFits(CGSize(width: fixedWidth, height: CGFloat.greatestFiniteMagnitude))textView.frame.
size = CGSize(width: max(newSize.width, fixedWidth), height: newSize.height)

如果您希望支持IOS 6.1,那么還應該:

textview.scrollEnabled = NO;


查看完整回答
反對 回復 2019-06-05
?
慕虎7371278

TA貢獻1802條經驗 獲得超4個贊

這不再適用于iOS 7或更高版本。

實際上,有一種非常簡單的方法來調整UITextView內容的正確高度??梢允褂?/trans>UITextView contentSize.

CGRect frame = _textView.frame;frame.size.height = _textView.contentSize.height;_textView.frame = frame;

有一點要注意的是,正確的contentSize只提供這個UITextView已添加到視圖中的addSubview..在此之前,它等于frame.size

如果自動布局啟動,這將無法工作。對于自動布局,一般方法是使用sizeThatFits方法并更新constant值在高度約束上。

CGSize sizeThatShouldFitTheContent = [_textView sizeThatFits:_textView.frame.size];
heightConstraint.constant = sizeThatShouldFitTheContent.height;

heightConstraint是一個布局約束,您通常通過IBOutlet將屬性鏈接到故事板中創建的高度約束來設置該約束。


為了補充這個驚人的答案,2014年,如果你:

[self.textView sizeToFit];

iPhone 6+只有:


對于6+(而不是5s或6),它確實在UITextView中添加了“多一個空行”。“RL解決方案”完美地解決了這一問題:

CGRect _f = self.mainPostText.frame;_f.size.height = self.mainPostText.contentSize.height;self.mainPostText.frame = _f;

它解決了6+上的“額外行”問題。


查看完整回答
反對 回復 2019-06-05
  • 2 回答
  • 0 關注
  • 855 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號