我已经确保我的单元格的自动调整大小允许灵活的宽度,但是当旋转设备时,单元格不会调整大小。
我还验证了tableview的大小调整,问题直接与单元格有关。
这是我用来创建单元格的代码:
if (cell == nil) {
// Load the top-level objects from the custom cell XIB.
NSArray *topLevelObjects = [[NSBundle mainBundle] loadNibNamed:@"MetaTableViewCell" owner:self options:nil];
// Grab a pointer to the first object (presumably the custom cell, as that's all the XIB should contain).
cell = [topLevelObjects objectAtIndex:0];
}
有人会想到可能出错的地方吗?
使用IB创建的单元格是否未重新调整大小?
答案 0 :(得分:1)
如果是未调整大小的单元格的高度,我建议您在轮换后修改UITableView
委托方法。
-
(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
if(condition)// has rotation taken place
// new height
else
// old height
}
请确保在轮换发生时致电[tableView reloadData];
。
答案 1 :(得分:0)
如果我理解你的问题,你想改变UITableViewCells的高度,对吧?尝试在TableView的委托中添加此行:
-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return *height*;
}
我遇到了同样的问题。如果你在IB中设置大小,你可以在那里放置更多的东西,但它仍然会在你加载时向你的代表询问高度。如果您的委托没有实现此方法,它将只采用默认高度。