我在SO上看到了很多與此相關的問題,但是,它們都不屬於我的問題。UITextView在UITableViewCell內部生長
我要創建一個具有消息功能的應用程序。類似於蘋果公司的郵件和LinkedIn有他們的應用程序中的郵件功能,我想有一個UITableView
3行。第三行有UITextView
,它必須隨用戶鍵入而增長。我的代碼如下:
- (void)textViewDidChange:(UITextView *)textView {
if (bodyText.contentSize.height > currentContentHeight) {
currentContentHeight = bodyText.contentSize.height;
[tblView beginUpdates];
[tblView endUpdates];
[bodyText setFrame:CGRectMake(0, 0, 310.0, currentContentHeight)];
bodyText.selectedRange = NSMakeRange(textView.text.length - 1, 0);
} else {
currentContentHeight = minimumContentHeight;
[tblView beginUpdates];
[tblView endUpdates];
}
}
當我按下iPhone上的返回時,它會下降,並完美地工作。問題是,如果我轉到UITextView
的中心或任何其他中間部分,它似乎會產生有趣的行爲,因爲它錯誤地得到了contentSize
。例如:
- 我按回車鍵10次
- 轉到第五行和類型「狗」
- 它得到
contentHeight
基礎上5日線,如果是有道理的?
有沒有辦法根據當前文本的全部來計算它?請讓我知道是否有任何我曾經錯過的東西。我讀了大量以下內容:
http://dennisreimann.de/blog/uitextview-height-in-uitableviewcell/
https://stackoverflow.com/questions/985394/growing-uitextview-and-uitableviewcell
UITextView inside a UITableViewCell
How do I size a UITextView to its content?
是否有任何特別的原因要使用UITableView?它看起來像一個簡單的3視圖設置(自動佈局)可能會更容易/更好。 – jtbandes
因爲目前的設計限制,我這樣做了。但是,這並沒有太大的區別。由於'contentHeight'計算錯誤。 – KVISH
此外,UITableView使滾動到適當的行更容易等。 – KVISH