【发布时间】:2013-06-05 11:22:20
【问题描述】:
背景
我有一个 iPad 拆分视图应用程序。拆分视图是窗口的根视图控制器。我需要应用程序的登录屏幕,因此我将其呈现如下:[self.splitViewController presentViewController:self.loginView animated:NO completion:nil];。我在锚定的主视图上有一个弹出窗口导航栏UIBarButtonItem 帮助用户注销。这是gr8 工作。
问题:
我需要支持两个方向,因此主视图也必须以纵向模式显示。我面临的第一个问题是当用户以纵向模式退出应用程序时,主视图不会被关闭并且当主视图仍然可见时,会显示登录视图。我设法通过复制左侧栏按钮上的点击事件来解决此问题,如下所示:
[self.detailViewController.navigationItem.leftBarButtonItem.target performSelector:self.detailViewController.navigationItem.leftBarButtonItem.action];
这引起了第二个问题。当我注销时,上面的 sn-p 正确关闭了主视图,并且看到了登录视图。但是现在如果我将方向更改为横向并再次登录,主视图是替换为黑色条带(宽度与masterview相等)。我认为splitview仍然认为它在portarit视图中并且方向更改不会传播到splitviewcontroller。任何人都可以帮我解决这个问题。 p>
到目前为止我做了什么:
我尝试在详细视图上使用更新后的方向显式调用-(void)willRotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation duration:(NSTimeInterval)duration,但它不起作用。
我将应用程序的 rootview 控制器重置为在 - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 中创建的同一个 splitviewcontroller 实例,希望这可以用作刷新,但它没有注意。
我不知道从哪里开始。重要提示:我使用的是 iOS 6.0。非常感谢任何帮助。
【问题讨论】:
标签: ios ipad ios6 orientation uisplitviewcontroller