HI, 我的iPad应用程序中有以下设置:
UISplitViewController DetailSide-> SomeDetailViewController-> 添加了子视图[SomeDetailViewController.view addSubview:AnotherViewController.view]
现在在启动“AnotherViewController视图”后启动时,其初始尺寸始终与最后一个方向相同(界面构建器中的potrait / landscape视图)我保存了该视图XIB,与当前设备方向无关
同时重置添加的子视图的帧(AnotherViewController.view),即A. In - [SomeDetailViewController viewDidLoad]检查当前设备方向B.设置AnotherViewController.view的帧以匹配所需的大小。此后它没有适当调整大小(我在XIB自动调整框中正确设置了弹簧/支柱),方向更改。
在执行上面的步骤2.之后,我确实看到来自底部的大约一半的AnotherViewController.view没有响应任何触摸,看起来由于帧中的变化,响应的坐标变得混乱。
我实现了“shouldAutorotateToInterfaceOrientation”,为所有视图控制器中的所有方向返回YES。
TIA。
答案 0 :(得分:0)
在XIB中,可以选择在Inspector中更改SPlitview Detail / Master。此外,如果您将其添加为子视图,则无法获取splitview委托方法,因此您需要将其添加到窗口。尝试使用
从窗口中删除所有元素[[[[UIAppDelegate window] subviews] objectAtIndex:0] removeFromSuperview]; self.appDelegate.splitViewControllerObject = [[UISplitViewController alloc] init];
UINavigationController * rootNav = [[UINavigationController alloc] initWithRootViewController:masterview]; UINavigationController * detailNav = [[UINavigationController alloc] initWithRootViewController:detailview];
self.appDelegate.splitViewControllerObject.viewControllers = [NSArray arrayWithObjects:rootNav, detailNav, nil];
self.appDelegate.splitViewControllerObject.delegate = detailviewobj;
[UIAppDelegate.window addSubview:self.appDelegate.splitViewControllerObject.view];
祝你好运....
答案 1 :(得分:0)
您应该将自动调整大小属性设置为AnotherViewController.view
:
AnotherViewController.view.view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;