且构网

分享程序员开发的那些事...
且构网 - 分享程序员编程开发的那些事

UISplitView中的代理未被调用

更新时间:2023-01-05 09:51:13

好吧,我想出了...在我的AppDelegate.m文件中,我添加了以下内容到FinishLaunchingWithOptions



Okay I figured it out... In my AppDelegate.m file I added the following to didFinishLaunchingWithOptions

DetailViewController *detail = (DetailViewController *)navigationController.topViewController;
UINavigationController *masterNavigationController = [splitViewController.viewControllers objectAtIndex:0];
MasterViewController *master = (MasterViewController *)masterNavigationController.topViewController;

NSLog(@"%@",masterNavigationController.topViewController);
master.delegate = detail;

所以整个方法看起来像这样:

So the whole method looks like this:

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

    DetailViewController *detail = (DetailViewController *)navigationController.topViewController;
    UINavigationController *masterNavigationController = [splitViewController.viewControllers objectAtIndex:0];
    MasterViewController *master = (MasterViewController *)masterNavigationController.topViewController;

    NSLog(@"%@",masterNavigationController.topViewController);
    master.delegate = detail;

    return YES;
}

基本上问题是我没有在任何地方分配委托。duh。

Basically the problem is that I wasn't assigning the delegate anywhere.... duh.