旋转设备时,我的应用程序出现问题。 tableView扩展到设备视图,导致它无法访问。
如何让表调整大小以免发生这种情况?
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
if (toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft ||
toInterfaceOrientation == UIInterfaceOrientationLandscapeRight)
{
NSLog(@"Device is rotated sidewise");
myTable.delegate = self;
myTable.dataSource = self;
myTable.scrollEnabled = YES;
[self.view addSubview:myTable];
myTable = [[UITableView alloc] initWithFrame:CGRectMake(0, 148, 320, 10)];
}
}
在使用xcode或objective-c进行编码时,我是一个完整的菜鸟。我目前正在研究这个问题,所以请对你的答案保持友好。
答案 0 :(得分:1)
尝试使用自动调整遮罩并且不要在方向上设置框架。使用下面的链接来了解自动调整。使用自动调整功能,您无需以编程方式编写任何代码。 http://www.techpaa.com/2012/05/understanding-uiview-autoresizing.html
答案 1 :(得分:1)
如果关闭Autolayout,那么您的autoresizemask应该如下所示
答案 2 :(得分:-1)
如果要通过界面构建器
添加tableview,则可以使用autolayout如果您需要以编程方式执行此操作,请按以下步骤更改代码
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration
{
if (toInterfaceOrientation == UIInterfaceOrientationLandscapeLeft ||
toInterfaceOrientation == UIInterfaceOrientationLandscapeRight)
{
NSLog(@"Device is rotated sidewise");
myTable = [[UITableView alloc] initWithFrame:CGRectMake(0, 148, 320, 10)];
myTable.delegate = self;
myTable.dataSource = self;
myTable.scrollEnabled = YES;
[self.view addSubview:myTable];
}
}