Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jsf-2/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Iphone 在主UIViewController的子视图中是否可以有两个导航控制器?_Iphone_Uiviewcontroller_Uinavigationcontroller_Uinavigationbar_Ipad - Fatal编程技术网

Iphone 在主UIViewController的子视图中是否可以有两个导航控制器?

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

下图解释了我要做的事情:

这是一款iPad应用程序。可能吗?如果是这样的话,有人能发布框架代码来做吗


提前谢谢

是的,有可能。骨架代码:

头文件:

@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吗?右侧和左侧的两个导航控制器彼此独立