Iphone 在主UIViewController的子视图中是否可以有两个导航控制器?
下图解释了我要做的事情: 这是一款iPad应用程序。可能吗?如果是这样的话,有人能发布框架代码来做吗Iphone 在主UIViewController的子视图中是否可以有两个导航控制器?,iphone,uiviewcontroller,uinavigationcontroller,uinavigationbar,ipad,Iphone,Uiviewcontroller,Uinavigationcontroller,Uinavigationbar,Ipad,下图解释了我要做的事情: 这是一款iPad应用程序。可能吗?如果是这样的话,有人能发布框架代码来做吗 提前谢谢是的,有可能。骨架代码: 头文件: @interface SGBSplitViewController : UIViewController @property (nonatomic, strong, readonly) UIViewController *leftViewController; @property (nonatomic, strong, readonly) UIVi
提前谢谢是的,有可能。骨架代码: 头文件:
@interface SGBSplitViewController : UIViewController
@property (nonatomic, strong, readonly) UIViewController *leftViewController;
@property (nonatomic, strong, readonly) UIViewController *rightViewController;
- (id)initWithLeftViewController:(UIViewController *)leftViewController
rightViewController:(UIViewController *)rightViewController;
@end
实施文件:
@implementation SGBSplitViewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
return nil;
}
- (id)initWithLeftViewController:(UIViewController *)leftViewController
rightViewController:(UIViewController *)rightViewController
{
self = [super initWithNibName:nil bundle:nil];
if (self)
{
_leftViewController = leftViewController;
_rightViewController = rightViewController;
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
[self addChildViewController:self.leftViewController];
[self.view addSubview:self.leftViewController.view];
[self.leftViewController didMoveToParentViewController:self];
[self addChildViewController:self.rightViewController];
[self.view addSubview:self.rightViewController.view];
[self.rightViewController didMoveToParentViewController:self];
}
- (void)viewDidLayoutSubviews
{
[super viewDidLayoutSubviews];
self.leftViewController.view.frame = <frame>;
self.rightViewController.view.frame = <frame>;
}
@实现SGBSplitViewController
-(id)initWithNibName:(NSString*)nibNameOrNil bundle:(NSBundle*)nibBundleOrNil
{
返回零;
}
-(id)initWithLeftViewController:(UIViewController*)leftViewController
rightViewController:(UIViewController*)rightViewController
{
self=[super initWithNibName:nil bundle:nil];
如果(自我)
{
_leftViewController=leftViewController;
_rightViewController=rightViewController;
}
回归自我;
}
-(无效)viewDidLoad
{
[超级视图下载];
[self addChildViewController:self.leftViewController];
[self.view addSubview:self.leftViewController.view];
[self.leftViewController didMoveToParentViewController:self];
[self-addChildViewController:self.rightViewController];
[self.view addSubview:self.rightViewController.view];
[self.rightViewController didMoveToParentViewController:self];
}
-(无效)ViewDidLayoutSubView
{
[超级视图布局子视图];
self.leftViewController.view.frame=;
self.rightViewController.view.frame=;
}
是的,这是可能的。骨架代码:
头文件:
@interface SGBSplitViewController : UIViewController
@property (nonatomic, strong, readonly) UIViewController *leftViewController;
@property (nonatomic, strong, readonly) UIViewController *rightViewController;
- (id)initWithLeftViewController:(UIViewController *)leftViewController
rightViewController:(UIViewController *)rightViewController;
@end
实施文件:
@implementation SGBSplitViewController
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
return nil;
}
- (id)initWithLeftViewController:(UIViewController *)leftViewController
rightViewController:(UIViewController *)rightViewController
{
self = [super initWithNibName:nil bundle:nil];
if (self)
{
_leftViewController = leftViewController;
_rightViewController = rightViewController;
}
return self;
}
- (void)viewDidLoad
{
[super viewDidLoad];
[self addChildViewController:self.leftViewController];
[self.view addSubview:self.leftViewController.view];
[self.leftViewController didMoveToParentViewController:self];
[self addChildViewController:self.rightViewController];
[self.view addSubview:self.rightViewController.view];
[self.rightViewController didMoveToParentViewController:self];
}
- (void)viewDidLayoutSubviews
{
[super viewDidLayoutSubviews];
self.leftViewController.view.frame = <frame>;
self.rightViewController.view.frame = <frame>;
}
@实现SGBSplitViewController
-(id)initWithNibName:(NSString*)nibNameOrNil bundle:(NSBundle*)nibBundleOrNil
{
返回零;
}
-(id)initWithLeftViewController:(UIViewController*)leftViewController
rightViewController:(UIViewController*)rightViewController
{
self=[super initWithNibName:nil bundle:nil];
如果(自我)
{
_leftViewController=leftViewController;
_rightViewController=rightViewController;
}
回归自我;
}
-(无效)viewDidLoad
{
[超级视图下载];
[self addChildViewController:self.leftViewController];
[self.view addSubview:self.leftViewController.view];
[self.leftViewController didMoveToParentViewController:self];
[self-addChildViewController:self.rightViewController];
[self.view addSubview:self.rightViewController.view];
[self.rightViewController didMoveToParentViewController:self];
}
-(无效)ViewDidLayoutSubView
{
[超级视图布局子视图];
self.leftViewController.view.frame=;
self.rightViewController.view.frame=;
}
您尝试过UISplitViewController吗?右侧和左侧的两个导航控制器彼此独立。您尝试过UISplitViewController吗?右侧和左侧的两个导航控制器彼此独立