2010-03-30 158 views
0

這讓我感到非常緊張。動態更改Textview-和TableviewCell行高度

我有一個自定義單元格的TableView。我的單元格包含可編輯的文本視圖。是否有可能動態改變單元格和textview的rowheight(當我編輯textView)?

最好的問候

回答

0

如果不重新加載表格,則無法更改tableview單元格的高度。這意味着每次在textview中需要一個新行時,tableview都需要重新加載。

雖然這可以做(手動調整很多),但我不認爲結果會爲良好的界面提供幫助。相反,你應該讓單元打開一個詳細視圖並讓用戶在那裏鍵入。這就是所有Apple應用程序處理同樣問題的方式,也是大多數用戶期望的解決方案。

它也將爲您節省很多時間和挫折。

0

行高度根據委託或表視圖的屬性進行計算。我認爲這個高度是在細胞進入視野時確定的。

一個可能的途徑是使用- (void)reloadRowsAtIndexPaths:(NSArray *)indexPaths withRowAnimation:(UITableViewRowAnimation)animation

表格中的文本視圖是否是唯一的單元格?如果用戶處於編輯過程中,並且需要重新放置單元格並且文本視圖不是唯一的,則可能會遇到問題。

+0

TextView的是不在表中是唯一的。 – f0rz 2010-03-30 11:01:37

0

yup!

嘗試調整您的細胞,並呼籲

[tableView beginUpdates]; 
[tableView endUpdates]; 
每次你需要調整你的時間

。 ,將調用heightForRowAtIndexPath:和調整所有的細胞相應 所以要返回正確的高度有..

希望幫助:)

+0

爲了獲得更好的性能,還可以在未編輯時隱藏UITextView,而不是使用UILabel。否則它滾動糟糕.. – eiran 2012-12-04 10:09:56