我在纵向视图中有一个xib,在横向视图中有一个xib。我正在改变旋转xib,如下所示:
[[NSBundle mainBundle] loadNibNamed:[NSString stringWithFormat:@"%@_landscape", NSStringFromClass([self class])]
owner: self
options: nil];
它工作正常但是如果我在当前视图中打开一个视图作为子视图,那么它就会消失。例如,在任何按钮单击时,我在当前视图中添加一个视图(如弹出窗口),但在旋转子视图中它会消失。我该如何解决这个问题?
感谢任何帮助。
答案 0 :(得分:0)
您需要为该视图设置属性,并且无论何时执行旋转,只需使用addSubview
的{{1}}函数,您需要在其余视图的顶部重新添加相同的视图。
答案 1 :(得分:0)
不是改变不同模式的视图,而是使用autoresizing.It将让你在旋转时处理单视图autoResize。这是你可以学习的好例子。
答案 2 :(得分:0)
我认为这不是一个好方法。您应该使用UIViewController
一个XIB
。现在,在outlets
的视图之外,以及在轮换时间看两个视图(一个用于横向,另一个用于纵向连接ViewController
)
yourCurrentView = landscapeView/portraitView;
[self.view addSubview:yourCurrentView];
并将其设置为[self.view sendSubviewToBack:yourCurrentView];
//因为在self.view上动态添加的视图仍然位于顶部,现在添加的视图始终显示在每个模式中。
我希望它会对你有所帮助。