gpt4 book ai didi

ipad - iPad 上的 iOS 5 UISplitViewController 不在纵向上显示 MasterView(但仅在最初)

转载 作者:行者123 更新时间:2023-12-01 12:49:38 28 4
gpt4 key购买 nike

我有一个 UITabBarController 应用程序,其中一个选项卡显示应用程序设置。这是一个带有多个细节 Controller 的 UISplitViewController,这些 Controller 会根据在 master 上选择的内容而改变。我的 detailViewControllers 有这些行,允许主视图持续显示(或应该):

- (void)viewDidLoad
{
[super viewDidLoad];
self.splitViewController.delegate = self;
}

- (BOOL) splitViewController:(UISplitViewController *)svc shouldHideViewController:(UIViewController *)vc inOrientation:(UIInterfaceOrientation)orientation {
return NO;
}

这是我的问题:如果在点击设置选项卡时触控板是纵向的,则只会显示初始详细 View 。不是主人。将 pad 旋转到横向并返回,主人显示得很好并停留在那里。

我不明白为什么会这样。 XCode 4.5.2 master/detail 模板项目在我更新 detailController 不隐藏 master 后没有这个问题。

有什么想法吗?

最佳答案

我刚刚遇到了同样的问题,但通过仔细检查我的 UISplitViewController 委托(delegate)是否在适当的时间设置,我解决了这个问题。

注意在 XCode 示例项目的 AppDelegate 中正确工作的地方做了什么:

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
{
// Override point for customization after application launch.
if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad) {
UISplitViewController *splitViewController = (UISplitViewController *)self.window.rootViewController;
UINavigationController *navigationController = [splitViewController.viewControllers lastObject];
splitViewController.delegate = (id)navigationController.topViewController;
}
return YES;
}

它专门将 UISplitViewController 委托(delegate)设置为特定的 View Controller 。

出于我的目的,我将 AppDelegate 设置为 SplitViewControllerDelegate,因为我在 SplitViewController 中进行了一些稍微复杂的 View Controller 管理。

因此请确保在 application:didFinishLaunchingWithOptions: 中正确设置了委托(delegate),这样您就不会遇到任何问题。

关于ipad - iPad 上的 iOS 5 UISplitViewController 不在纵向上显示 MasterView(但仅在最初),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13476183/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com