变高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进行重用。
相关文章
相关标签/搜索