使用AutoLayout更新UITableViewCell子视图的框架

时间:2014-06-26 04:49:20

标签: uitableview autolayout subview

我正在使用自动布局。我有一个UIView作为自定义UITableViewCell的子视图。在cellForRow中,我想在Row的单元格中设置UIView的框架。

这就是我所拥有的:

UIView *bar;
-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
               bar = (UIView *)[cell.contentView viewWithTag:2];
               [bar setFrame:CGRectMake(bar.frame.origin.x, 
                                        bar.frame.origin.y, 
                                                        10, 
                                     bar.frame.size.height)];

}

如果我关闭自动布局,它会起作用。如何使用自动布局完成此操作?我已经彻底搜索过,但没有找到解决方案。

1 个答案:

答案 0 :(得分:0)

您可以使用故事板或界面构建器在这些工具中创建uiview,并使用约束来获得所需的视图大小。

Autolayout可以通过编程方式完成,但从我所看到的情况来看,它真的很烦人。自动布局的最佳方法是使用可视化构建工具。

查看uitableviewcell xib stackoverflow帖子,看看如何去做。笔尖的提示:

[self.tableView registerNib:[UINib nibWithNibName:@"CustomTableViewCell" bundle:nil] forCellReuseIdentifier:@"customCellIdentifier"];