我正在尝试在我的应用程序中实现方向更改功能。我已经覆盖 - (void)didRotateFromInterfaceOrientation:(UIInterfaceOrientation)fromInterfaceOrientation。
在此方法中,我更改视图中存在的tableview的帧大小(包括单元项的位置)。 tableview详细信息:
我已经实现了滚动条。
问题: 某些时候,在将方向更改为potrait模式时,单元格中的某些分段控件不会呈现(根本不显示)。
当我在横向模式中查看最后几个单元格并且我将方向更改为potrait模式时会发生这种情况。
答案 0 :(得分:0)
我认为您的相框调整存在问题。当我从纵向旋转到风景时,我遇到了类似的问题。尝试查看旋转过程背后的逻辑(设置框架,位置等)是否正确。对我来说,这篇文章非常有用link text
对于tableView,您可以尝试将autoresizingMask设置为UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight以查看旋转表是否正确调整。
tableView.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
答案 1 :(得分:0)
我的沙盒应用 解决方案很简单:
https://github.com/comonitos/programatical_device_orientation
接口(h文件)中的:
实现中的BOOL旋转;
(m文件):
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return rotated;
}
- (void) setup
{
rotated = YES;
[[UIDevice currentDevice] setOrientation:UIDeviceOrientationLandscapeLeft];
rotated = NO;
}