在ios 5之前,我会在tableview中设置行高,如下所示:
self.tableView.rowHeight=71;
Run Code Online (Sandbox Code Playgroud)
但是,它不适用于iOS5.
有人有想法吗?
谢谢
MAN*_*rii 18
您是否尝试过tableView:heightForRowAtIndexPath:的UITableViewDelegate?
您可以通过tableView:heightForRowAtIndexPath:在UITableView委托中实现(支持UITableViewDelegate协议的人)来将行高设置为71 .
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
return 71.0;
}
Run Code Online (Sandbox Code Playgroud)
首先,您应该设置tableView的委托.代表应遵守UITableViewDelegate协议.假设我们有一TableDelegate堂课.为了符合UITableViewDelegate协议,应该在它的声明中将它放在方括号中,如下所示:
...
@interface TableDelegate : UIViewController <UITableViewDelegate>
...
or
@interface TableDelegate : UIViewController <some_other_protocol, UITableViewDelegate>
Run Code Online (Sandbox Code Playgroud)
然后设置委托:
...
// create one first
TableDelegate* tableDelegate = [[TableDelegate alloc] init];
...
self.tableView.delegate = tableDelegate;
Run Code Online (Sandbox Code Playgroud)
最后,您应该在实现中实现该tableView:heightForRowAtIndexPath:方法TableDelegate:
@implementation TableDelegate
...
- (CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath {
return 71.0;
}
...
@end
Run Code Online (Sandbox Code Playgroud)
只是为了澄清,使用rowHeight应该工作得很好,并且表现要好于-tableView:heightForRowAtIndexPath:Javier Soto在评论中指出的常数.另请注意,如果您的UITableView具有委托返回高度-tableView:heightForRowAtIndexPath:和rowHeight属性集,则可以使用先前值.
| 归档时间: |
|
| 查看次数: |
24212 次 |
| 最近记录: |