有没有人知道如何在iOS 6上解除>>方向更改前的弹出。 我尝试了以下内容:
- (void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration {
if ([self.popoverController isPopoverVisible]) {
[self.popoverController dismissPopoverAnimated:NO];
}
}
但它不适合我。轮换后,弹出窗口仍在那里。
- (BOOL) shouldAutoRotate
在我的viewController中没有调用因为它在SplitViewController和NavController中。 我已经读过,我可以从这个容器子类化转发shouldAutorotate,但我不想因为不同的原因而这样做。 我不想在orientationchange之后解析popover(在didRotateFrom ...中),因为它很难看。
你有什么想法,我怎么能在iOS 6上改变方向之前解除弹出窗口?
答案 0 :(得分:0)
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(deviceOrientationDidChange:)
name:UIDeviceOrientationDidChangeNotification
object:nil];
一旦旋转发生变化,这将完成,然后您可以在设备方向上执行所需操作。否则你需要监听视图控制器并在那里发送消息。
答案 1 :(得分:0)
试试这个
- (void)viewDidLayoutSubviews
{
[popOverController dismissPopoverAnimated:YES];
}