我有一个包含2行的表视图。最初相应地设置行高。我然后加载另一个视图控制器,显示一个列表,用户可以从中选择多个项目。这些项目将作为自定义图像绘制在tableview的第一行。当用户点击回来时,会显示用户选择的项目的选择,但我需要能够调整第0行的高度。
答案 0 :(得分:1)
试试这个:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
答案 1 :(得分:0)
在TableListController头文件中声明:
@property (nonatomic, retain) NSIndexPath * expandedCellIndexPath;
然后在.m add
- (void)changeCellHeights:(NSIndexPath *)indexPath
{
if (self.expandedCellIndexPath) {
[self.yourTableView reloadRowsAtIndexPaths:[NSArray arrayWithObject: self.expandedCellIndexPath] withRowAnimation:UITableViewRowAnimationFade];
}
self.expandedCellIndexPath = indexPath;
[self.yourTableView reloadRowsAtIndexPaths:[NSArray arrayWithObject: self.expandedCellIndexPath] withRowAnimation:UITableViewRowAnimationMiddle];
}
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath
{
DebugLog(@"");
if (self.expandedCellIndexPath && indexPath.row == self.expandedCellIndexPath.row && indexPath.section == self.expandedCellIndexPath.section) {
return 80;
}
return 56.0;
}
最后不要忘记将tableCell设置为Clip子视图(如果你使用的话,在你的Xib上设置)
现在您只需要调用changeCellHeights:方法