我有一个带有一些委托方法的UITableView。第一次加载时一切正常,但在旋转过程中我看到方法 cellForRowAtIndexPath 不记得。为什么? 我的委托方法是:
-(NSInteger)tableView:(UITableView *)tableView
numberOfRowsInSection:(NSInteger)section{
//.....
}
-(CGFloat) tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{
//......
}
- (UITableViewCell *)tableView:(UITableView *)aTableView
cellForRowAtIndexPath:(NSIndexPath *)indexPath{
//...This method is not called during the rotation of the device...
}
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath{
//.......
}
答案 0 :(得分:1)
在[tableView reloadData]
方法中使用shouldAutorotateToInterfaceOrientation
进行轮换后,您需要手动刷新表格数据。
答案 1 :(得分:0)
只有当单元格即将在屏幕上显示并且表格请求它时,才会调用该方法。一旦它在视图中,它将不再被调用,直到它滚出视图然后再返回。
您有3个处理轮换的选项:
您选择的内容取决于您的单元格布局的复杂程度。此外,请确保表格在旋转时调整大小,否则单元格将不会看到大小更改。