gpt4 book ai didi

ios - SplitViewController 只显示白屏

转载 作者:行者123 更新时间:2023-11-29 13:53:25 27 4
gpt4 key购买 nike

多年来,我一直有一个已发布的通用应用程序,运行良好。现在,自从 iOS13 更新以来,它只是开始出现纯白屏幕。唯一的异常(exception)是如果我在 iPad 上运行它并改变设备的方向。比该应用程序终于一如既往地出现。我在 Application 方法的委托(delegate)文件中放置了一个断点,在 viewDidLoad 方法的 rootviewcontroller 中放置了另一个断点。在 iOS 12 中,两个断点都被命中,一切都像往常一样运行。在 iOS 13 中,永远不会到达 rootviewcontroller 断点。该应用程序非常旧,使用没有 Storyboard的普通旧 XIB 文件。

我的委托(delegate)中的代码是这样的;

#import "AppDelegate.h"
#import "RootViewController.h"

@implementation AppDelegate

@synthesize window, splitViewController;

@synthesize managedObjectContext = _managedObjectContext;
@synthesize managedObjectModel = _managedObjectModel;
@synthesize persistentStoreCoordinator = _persistentStoreCoordinator;

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {

[self.window setRootViewController:self.splitViewController];
[self.window makeKeyAndVisible];
return YES;
}

最佳答案

iOS 13 Split View Controller 问题。如果您将导航 Controller 嵌入到主/详细 View Controller 中,它只会加载导航 Controller 。

要解决该问题,请从 UISplitViewController 创建自定义类并将其分配给 Storyboard中的 splitviewcontroller,然后以编程方式将导航 Controller 和 masterViewcontroller 添加到该 UISplitViewController。那应该正确加载您的 View 。此代码进入 viewdidload 或 willappear 的 UISplitviewcontroller 类。示例代码。

    MasterViewController *master = [[MasterViewController alloc] init];
UINavigationController *tableViewNavigationController = [[UINavigationController alloc] initWithRootViewController:master];
UINavigationController *navC = [[UINavigationController alloc] init];
self.viewControllers = [NSArray arrayWithObjects:tableViewNavigationController,navC, nil];

这解决了我的问题与 iOS 有类似的问题。希望有所帮助。

关于ios - SplitViewController 只显示白屏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58247837/

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