Iphone 使用xib更改视图
我有一个在纵向视图中的xib和一个在横向视图中的xib。我轮流改变xib,如下所示:Iphone 使用xib更改视图,iphone,Iphone,我有一个在纵向视图中的xib和一个在横向视图中的xib。我轮流改变xib,如下所示: [[NSBundle mainBundle] loadNibNamed:[NSString stringWithFormat:@"%@_landscape", NSStringFromClass([self class])] owner: self options: nil]; 它工作正常,但是如果我在当前视图中打开一个视图作为子视图,它就会消失。例如,在单击任何按钮时,我都会在当前视图中添加一个视图
[[NSBundle mainBundle] loadNibNamed:[NSString stringWithFormat:@"%@_landscape", NSStringFromClass([self class])]
owner: self
options: nil];
它工作正常,但是如果我在当前视图中打开一个视图作为子视图,它就会消失。例如,在单击任何按钮时,我都会在当前视图中添加一个视图(如弹出框),但在“旋转”子视图中,它会消失。我如何解决这个问题
非常感谢您的帮助。您需要为该视图创建属性,当您执行旋转时,您需要在其余视图的顶部重新添加相同的视图,只需使用
UIView
的addSubview
功能,而不是更改不同模式的视图,使用自动调整大小。它可以让你在旋转时进行单视图自动调整大小。下面是一个你可以学习的好例子
我认为这不是一个好办法。您应该使用
XIB
使用一个UIViewController
。现在,在ViewController
视图外部拍摄两个视图(一个用于横向,另一个用于纵向),并在旋转时打开
yourCurrentView = landscapeView/portraitView;
[self.view addSubview:yourCurrentView];
并将其设置为[self.view sendsubview toback:yourCurrentView]代码>//因为曾经在self.view上动态添加的视图仍然位于顶部,现在添加的视图总是在每个模式下显示
我希望它能帮助你 我假设你没有添加旋转视图,这意味着正如你所说,你有两个不同的旋转视图,所以如果你添加任何其他视图作为子视图,你必须添加两个视图,一个用于景观,一个用于potrait。你这样做吗?