0

我有一个自定义的拆分视图控制器,旨在尽可能像苹果一样工作。

我在三个不同的地方使用这个拆分视图。其中两个地方,master 是一个视图,只是一个 UIViewController 附加了一个 UIView,并以编程方式创建。

然而,第三个示例是带有 XIB 的 UIViewController。

问题是前两个拆分视图正确调整了它们的宽度。但是带有 XIB 的屏幕没有。我没有做任何花哨的事情,只是尝试使用传递给它的视图设置我的主人的内容视图。并像这样设置自动调整大小的掩码:

    // create container views
    masterView = [[VS_MasterView alloc] init];
    masterView.frame = CGRectMake(0, 0, masterViewWidth, self.view.frame.size.height);
    masterView.autoresizingMask =  UIViewAutoresizingFlexibleHeight;
    [self.view addSubview:masterView];

    // get the views
    UIViewController *masterViewController = (UIViewController *)[_viewControllers objectAtIndex:0];
    UIViewController *detailViewController = (UIViewController *)[_viewControllers objectAtIndex:1];

    // set their bounds
    [masterViewController willMoveToParentViewController:self];
    [self addChildViewController:masterViewController];
    [masterViewController didMoveToParentViewController:self];

    masterViewController.view.frame = masterView.bounds;
    masterViewController.view.autoresizingMask = UIViewAutoresizingFlexibleWidth | UIViewAutoresizingFlexibleHeight;
    [masterView addSubview:masterViewController.view];

XIB 文件是否存在某种特殊情况并在这种情况下调整它们的大小?我觉得不应该有。

谢谢

4

0 回答 0