我的iPad上的(全屏)主视图顶部有工具栏。工具栏有一个barButtonItem,按下后会显示一个弹出框。
在popover中,我有一个UIButton,当按下时,告诉委托(主视图控制器)关闭弹出窗口并显示整页模态视图。
一切正常。
当我关闭模态视图时,弹出窗口占用的区域 - 包括主视图和工具栏按钮 - 不再响应触摸事件。
如果我旋转设备并且仅在横向模式下发生此问题,则此问题会自行解决。
有什么建议吗?
更新:在模拟器中运行时,只有在实际的iPad上才会出现此错误。
委托方法我必须关闭全屏模态视图..
- (void)fullScreenViewControllerDidFinish:(FullScreenWebViewController *)fullScreenWebView {
[self dismissViewControllerAnimated:YES completion:^{
[self setFullScreenWVC:nil];
[[self view] setNeedsLayout]; //Does't fix the issue
}];
}
更新: 使用Instruments,我已经让iPad向我展示它是如何布置子视图的。当模态视图被解除时,看起来它认为iPad处于人像状态,但设备显然处于风景中。
答案 0 :(得分:2)
我解决了这个问题。
我正在使用
UIDeviceOrientation orientation = [[UIDevice currentDevice] orientation];
而不是
UIDeviceOrientation orientation = [[UIApplication sharedApplication] statusBarOrientation];
由于某种原因,iPad没有得到正确的方向。
感谢您的帮助。
答案 1 :(得分:0)
我可能会误解你的问题,但我建议你试着打电话给#34; setNeedsLayout"一旦模态视图被解除,在主视图中。这应该会触发视图布局的自动调整大小,如果没有自动调整大小,可以解决问题。
请查看此链接以获取更多信息: