【发布时间】:2017-01-29 11:32:05
【问题描述】:
在图片中,它显示Autolayout只能给UITableViewCell一个固定的尺寸(如图片中的132*59)。如果我想在 iphone 6s 上拥有一个大小为 375*667 并且在 iphone 6s plus 上大小为 414*736 的单元格。这意味着单元格的大小是整个屏幕。我该怎么办?谢谢!
【问题讨论】:
标签: ios swift uitableview autolayout xib
在图片中,它显示Autolayout只能给UITableViewCell一个固定的尺寸(如图片中的132*59)。如果我想在 iphone 6s 上拥有一个大小为 375*667 并且在 iphone 6s plus 上大小为 414*736 的单元格。这意味着单元格的大小是整个屏幕。我该怎么办?谢谢!
【问题讨论】:
标签: ios swift uitableview autolayout xib
UITableViewCell 将获得 UITableView 的宽度,因此您可以将 UITableView 的锚点附加到其父视图:
[tableView.leftAnchor constraintEqualToAnchor: tableViewSuperview.leftAnchor].active = YES;
[tableView.rightAnchor constraintEqualToAnchor: tableViewSuperview.rightAnchor].active = YES;
或者只是通过故事板附加它。
您可以从委托方法返回的单元格高度:
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath;
或者也将它设置在情节提要中(它不太适合您的需要,因为您希望将高度设置为等于您的视图高度)
如果 UITableView superview 没有设备大小,你可以从
获取屏幕大小[UIApplication sharedApplication].keyWindow.bounds.size
【讨论】: