我找到了答案。至于ios6中的定位,有很多实现新方法
的链接。
最初我的视图不支持旋转,直到我发现我的 tabBarController 是应用程序的 RootViewController 所以我添加
(BOOL)shouldAutorotate
{return YES;
}
了我的子类 TabBarController 类
并且在我的 info.plist 中为支持的界面方向添加了键值对,除非您在当前 UIViewController 通过
- (NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskPortrait;
}
为了在 UITableView 中实现旋转,我调用了 reloadData(); 通过使用
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
[self.tableView reloadData];
}
无需编写自定义 UITableViewCell 类,因为您可以在
– tableView:cellForRowAtIndexPath:
方法中重绘单元格。
因为我已经有一个自定义的 UITableViewCell 类,所以我layoutSubviews();
通过获取[[UIApplication sharedApplication] statusBarOrientation]
方法来绘制新的单元格。
如果单元格中有任何自定义 UIView,则需要重绘矩形以支持横向模式。基本上我也支持 ios5,所以我没有通过 XIB 使用 AutoLayout。您还可以根据布局框架对每个子视图使用自动调整大小的掩码。
重载数据();内存并不昂贵,因为您不会同时调用所有单元格@,并且仅重绘 UITableView 中的可见单元格,并且像以前一样重用单元格。