變高UITableViewCell

在iOS上開發了一個有列表的應用,列表中的每一項都是有不少控件組成的,每一項的內容大概同樣,本身定製了一下Cell,基本上知足要求了。後來Cell中的UILabel中的內容過長,須要自定義高度,看了一下SDK的文檔,能夠經過實現下面的方法來解決這個問題。 函數

- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath*)indexPath spa

返回相應的行的高度,這個函數能夠解決問題,每行的高度倒是調整了,可是當調整內部的UILabel的高度時出現了問題。調整一個Cell的內容,多個Cell的內容都發生了變化。後來想盡各類辦法,不能解決。後來仔細看啦一下SDK的說明,在 orm

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath 開發

函數中調用的  dequeueReusableCellWithIdentifier函數有一個重用機制,根據   reuseIdentifier   來進行重用,因此致使一個修改,其餘的有可能受到影響,爲了修改這種默認行爲,重載了UITableViewCell的   reuseIdentifier   函數,在UILabel發生變化時,返回不一樣的   reuseIdentifier   ,這樣dequeueReusableCellWithIdentifier函數就不會重用這些修改過的Cell了,若是不少這種類型的,也能夠按照規律返回相應的reuseIdentifier,在調用dequeueReusableCellWithIdentifier時,使用相應的reuseIdentifier進行重用。
相關文章
相關標籤/搜索