Ios UISplitViewController多个局部视图分段控件

Ios UISplitViewController多个局部视图分段控件,ios,ipad,uisplitviewcontroller,uisegmentedcontrol,Ios,Ipad,Uisplitviewcontroller,Uisegmentedcontrol,我正在一个拆分视图控制器中开发一个iPad应用程序,该应用程序将始终保持在横向视图中。我希望根视图控制器仍然是一个列表,而细节视图控制器交换由UISegmentedControl控制的4个不同视图 我在这里关注这篇文章,但是当我在视图控制器中交换时,它们不能正确地安装在detailview控制器中,它们被切断了,就像它们试图为ipad的纵向方向绘制一样 如果我完全忽略分段控件的方法,并且拥有一个细节视图,那么视图的大小在细节视图中是正确的,但是一旦我尝试用分段控件替换它们,我就会遇到麻烦 有没有

我正在一个拆分视图控制器中开发一个iPad应用程序,该应用程序将始终保持在横向视图中。我希望根视图控制器仍然是一个列表,而细节视图控制器交换由UISegmentedControl控制的4个不同视图

我在这里关注这篇文章,但是当我在视图控制器中交换时,它们不能正确地安装在detailview控制器中,它们被切断了,就像它们试图为ipad的纵向方向绘制一样

如果我完全忽略分段控件的方法,并且拥有一个细节视图,那么视图的大小在细节视图中是正确的,但是一旦我尝试用分段控件替换它们,我就会遇到麻烦


有没有办法告诉交换的视图正确绘制?

我也在使用UISegmentControl,但以编程方式添加视图。我在rootController的viewDidLoad中首先加载了默认视图(段0)。然后根据按下的段,检查视图是否已初始化,如果未初始化,则初始化,然后将其添加为子视图。然后删除另一个视图。我在这篇文章中也有类似的帖子,内容是关于如何跟踪它,这可能会对你有所帮助,并且有我在自己的应用程序中使用的iPhone4开发手册开头的代码。如果您想使用此方法,请从下面的代码片段开始:

if (self.yellowViewController.view.superview == nil)
{
    if (self.yellowViewController == nil)
    {
        YellowViewController *yellowController =
        [[YellowViewController alloc] initWithNibName:@"YellowView"
bundle:nil];
        self.yellowViewController = yellowController;
        [yellowController release];
    }
    [blueViewController.view removeFromSuperview];
    [self.view insertSubview:yellowViewController.view atIndex:0];
}
else
{
    if (self.blueViewController == nil)
    {
        BlueViewController *blueController =
        [[BlueViewController alloc] initWithNibName:@"BlueView"
bundle:nil];
        self.blueViewController = blueController;
        [blueController release];
    }
    [yellowViewController.view removeFromSuperview];
    [self.view insertSubview:blueViewController.view atIndex:0];
}
在我自己的视图中,我添加为子视图,而不是将其插入到其他视图后面(在示例中,它们的前面有一个工具栏)。因此,如果说第3段被按下,那么我会检查其他视图是否存在超级视图,删除该视图,添加我的视图。希望能有所帮助。

您是否尝试过:

swappedInView.frame = detailController.view.bounds;
当你打电话的时候

[detailedController.view addSubview:swappedInView];
?


它们的内容需要有适当的大小调整行为(最容易在xcode/IB中设置)。

放在一边:“将在整个时间内保持在景观中”当然,这与建议的做法背道而驰。最好是让用户决定他们喜欢的工作方式-也就是说,在第一次拍摄模型时,可以忽略这一建议。这一建议起了作用,但没有意识到我的子视图没有继承其父视图框架。谢谢你指出这一点,我不好意思说我错过了。