【发布时间】:2014-12-17 16:00:52
【问题描述】:
我的 iPhone 应用程序有问题。有时,我的主屏幕的 UITableView 的某些单元格重叠并且显示不正确。
以下是我的应用程序有时(很少)出现的方式:
我创建了两种类型的自定义 UITableViewCell,并使用 xib 文件来设计它们。
您对导致这种情况的原因有任何想法吗?这是iOS的bug吗,因为我已经在其他应用中注意到了这种bug。
感谢您的帮助。
更新:这是我的 tableView:heightForRowAtIndexPath: 方法。
我根据两种类型的单元格返回正确的高度。
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
Article *article = [self.articles objectAtIndex:[indexPath row]];
if (article.isFeatured) {
return 110;
} else {
return 75;
}
}
【问题讨论】:
-
您是否在使用自动调整单元格大小?还是您从
-tableView:heightForRowAtIndexPath:返回一个值?如果您使用自动调整大小,则可能需要修复您的约束。 -
正如@ZevEisenberg 提到的,单元格高度似乎有些问题,因为很少有单元格的高度比正常单元格高。
-
这不是错误。您为其中一种单元格类型返回了错误的单元格高度。如果您使用自动布局,请发布您的
tableView:heightForRowAtIndexPath:方法并编辑您的问题以包括在内。 -
使用自动布局调整单元格大小。
-
我添加了我的 heightForRowAtIndexPath 方法。是的,这是一个错误(可能是我的代码,也可能是 iOS,我不知道,这就是我问的原因),因为它很少发生。大多数情况下(99% 的时间......),一切都正确显示。
标签: ios objective-c cocoa-touch uitableview ios8