2010-05-08 40 views
2

我创建了一个分离视图控制器应用程序,详细视图在顶部导航栏中有一个分段控件。点击一个细分后,会在细节视图中添加一个新视图,其中包含相应的信息(涵盖DetailViewController的默认UIView)。在iPad中为DetailView UIView添加子视图

我已经创建了两个新的UIViews,对应于每一个段,我试图将它们添加到像这样的观点(在DetailViewController.m):

if (exerciseSegmentControl.selectedSegmentIndex == UISegmentedControlNoSegment) { 
    NSLog(@"No segment selected"); 
} 
UIView *viewToShow; 
if (selectedView == 0 && exerciseSegmentControl.selectedSegmentIndex == 1) { 
    viewToShow = exerciseSolutionView; 
} 
else { 
    viewToShow = exerciseView; 
} 
[self.view addSubview:viewToShow]; 

我看到的看法出现,但它位于错误的地方,它放置在窗口的顶部,而不是在导航栏的下面。

在IB中,我创建了视图的实例,并且我使用了属性检查器来指定顶栏的“导航栏”,它可以正确设置视图的高度。但是这个视图显然是在窗口中添加得太远了 - 我看到它下面的视图(DetailViewController的UIView)在底部(我改变了背景颜色,所以我知道我看到了哪个视图)。

有关如何获取我添加的子视图的任何提示可以正确放置在窗口中?

谢谢!

回答

0

您可能想要手动在IB(或代码)中添加导航栏。

在顶部栏设置中设置导航栏并没有真正添加导航栏,也没有为其保留一些空间。

无论如何..我通常会做的是在IB中添加2个视图,然后正确堆叠它们。

然后将它们链接到wif IBOutlet。 这将最有可能解决您的问题

相关问题