Ios 在UISplitView中连接主视图和详图视图
我无法正确运行拆分视图应用程序。当点击主视图中的一行时,我无法在细节视图中显示任何内容。这是我现在拥有的。在这一点上我完全不知所措,因为我想不出来。我只需要被指向正确的方向 应用程序代理.hIos 在UISplitView中连接主视图和详图视图,ios,uisplitviewcontroller,uisplitview,Ios,Uisplitviewcontroller,Uisplitview,我无法正确运行拆分视图应用程序。当点击主视图中的一行时,我无法在细节视图中显示任何内容。这是我现在拥有的。在这一点上我完全不知所措,因为我想不出来。我只需要被指向正确的方向 应用程序代理.h // // KFBAppDelegate.h // KYFB // // Created by KFB on 1/15/13. // Copyright (c) 2013 com.kfb. All rights reserved. // #import <UIKit/UIKit.h>
//
// KFBAppDelegate.h
// KYFB
//
// Created by KFB on 1/15/13.
// Copyright (c) 2013 com.kfb. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface KFBAppDelegate : UIResponder <UIApplicationDelegate>
@property (strong, nonatomic) UIWindow *window;
@property (strong, nonatomic) UISplitViewController *splitViewController;
@end
//
// KFBMasterViewController.h
// KYFB
//
// Created by KFB on 1/15/13.
// Copyright (c) 2013 com.kfb. All rights reserved.
//
#import <UIKit/UIKit.h>
@class KFBDetailViewController;
@interface KFBMasterViewController : UITableViewController
@property (strong, nonatomic) KFBDetailViewController *detailViewController;
@end
//
// SocialNetworks.h
// KFBNewsroom
//
// Created by Adam Rayborn on 10/18/12.
// Copyright (c) 2012 com.kfb. All rights reserved.
//
#import <UIKit/UIKit.h>
#import "KFBDetailViewController.h"
@interface SocialNetworks : UIViewController <UITableViewDelegate, UITableViewDataSource, UISplitViewControllerDelegate>
@end
MasterViewController.h
//
// KFBAppDelegate.h
// KYFB
//
// Created by KFB on 1/15/13.
// Copyright (c) 2013 com.kfb. All rights reserved.
//
#import <UIKit/UIKit.h>
@interface KFBAppDelegate : UIResponder <UIApplicationDelegate>
@property (strong, nonatomic) UIWindow *window;
@property (strong, nonatomic) UISplitViewController *splitViewController;
@end
//
// KFBMasterViewController.h
// KYFB
//
// Created by KFB on 1/15/13.
// Copyright (c) 2013 com.kfb. All rights reserved.
//
#import <UIKit/UIKit.h>
@class KFBDetailViewController;
@interface KFBMasterViewController : UITableViewController
@property (strong, nonatomic) KFBDetailViewController *detailViewController;
@end
//
// SocialNetworks.h
// KFBNewsroom
//
// Created by Adam Rayborn on 10/18/12.
// Copyright (c) 2012 com.kfb. All rights reserved.
//
#import <UIKit/UIKit.h>
#import "KFBDetailViewController.h"
@interface SocialNetworks : UIViewController <UITableViewDelegate, UITableViewDataSource, UISplitViewControllerDelegate>
@end
从我在代码中看到的情况来看,在
MasterViewController
类中,您似乎正在将DetailViewController
推送到MasterViewController
的导航控制器
我很确定那不是你想做的。试试这个:
- (void)tableView:(UITableView *)tableView didSelectRowAtIndexPath:(NSIndexPath *)indexPath
{
if (indexPath.row == 9)
{
[((UINavigationController *)[self.splitViewController.viewControllers lastObject]) pushViewController:[[SocialNetworks alloc]initWithNibName:@"SocialNetworks" bundle:nil] animated:YES];
}
}
我会创建一个新的空白项目,选择master/detail项目,看看他们是怎么做的。它的设置正是你所需要的。我就是这么做的。我添加了SocialNetworks视图,但在选择该行时,似乎无法使其显示在详细视图中。我得到了一个“UINavigationController”的不可见@界面,声明选择器“pushNavigationController:animated:”。哇,我刚刚意识到我写的是
pushNavigationController
,而不是pushViewController
。对不起!我可能也应该注意到这一点。我们俩都感到羞耻。不过,这个解决方案奏效了,所以非常感谢!我看到的唯一问题是,当在纵向中使用它时,你必须点击导航栏上的后退按钮才能回到主视图。它应该是你可以在任何时候选择主视图的地方,不是吗?