如何进出UISegmentedControl交换视图,并且仍然能够旋转方向?

时间:2011-06-30 21:35:27

标签: iphone uiview uiviewcontroller subview

我已经查看了有关此主题的一些帖子,但无法解决我遇到的问题。我提出了一个UIViewController的模态视图。我已经设置了该视图在右上方有一个UISegmentedControl,理想情况下允许我切换视图(在这个模态视图的内部)。

为了不掩盖顶部的工具栏,我在IB中制作了一个简单的UIView,并且布置了尺寸,使它们不与工具栏重叠。现在我的想法是,如果我选择UISegmentedControl时添加我想要添加到UIView的视图,生活将是伟大的:

-(IBAction) indexDidChangeForSegmentedControl:(UISegmentedControl*)seg{

int selectedNum = seg.selectedSegmentIndex;

if([[self.view1 subviews] objectAtIndex:0] != nil){
    [[[self.view1 subviews] objectAtIndex:0] removeFromSuperview];
}

if(selectedNum == 0){
    [self.view1 addSubview:[(DialogInfo*)[viewsArray objectAtIndex:seg.selectedSegmentIndex] view]];
}else if(selectedNum == 1){
    [self.view1 addSubview:[(DialogMetadata*)[viewsArray objectAtIndex:seg.selectedSegmentIndex] view]];
}else if(selectedNum == 2){
    [self.view1 addSubview:[(DialogVersions*)[viewsArray objectAtIndex:seg.selectedSegmentIndex] view]];
}else if(selectedNum == 3){
    [self.view1 addSubview:[(DialogAssoc*)[viewsArray objectAtIndex:seg.selectedSegmentIndex] view]];
}

}

这很有效!但问题是,当我旋转设备时,我真正关心的视图,内部视图,不会旋转。

我试过不做这个外部父UIView方法,只是尝试使用某个帧设置视图控制器视图,但方向仍然搞砸了。

我也尝试过使用UINavigationController执行此操作,而不是动画转换,但我无法正常工作。

所以我的问题是:我该怎么办?!我想要的是能够使用UISegmentedControl在视图之间切换,并能够将设备旋转到我需要的任何方向。我已经考虑过这么多,并尝试了很多不同的事情,我觉得我不知道发生了什么。

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

事实证明,在我的调整后,我的调整大小面具在IB中没有正确设置。 DOH!