0

我在纵向视图中有一个 xib,在横向视图中有一个。我正在像这样轮换更改xib:

[[NSBundle mainBundle] loadNibNamed:[NSString stringWithFormat:@"%@_landscape", NSStringFromClass([self class])]
  owner: self
  options: nil];

它工作正常,但如果我在当前视图中打开一个视图作为子视图,那么它就会消失。例如,在任何按钮上单击我正在当前视图中添加一个视图(如弹出框),但在旋转子视图中它消失了。我该如何解决这个问题?

任何帮助表示赞赏。

4

3 回答 3

0

您需要为该视图创建属性,并且当您执行旋转时,您需要通过简单地addSubview使用UIView.

于 2013-06-05T05:30:28.357 回答
0

使用自动调整大小而不是更改不同模式的视图。它可以让您在旋转时处理单个视图自动调整大小。这是您可以学习的好例子。

自动调整大小

于 2013-06-05T05:35:56.767 回答
0

我认为这不是一个好方法。你应该带UIViewController一个XIB。现在取两个视图(一个用于横向,另一个用于纵向连接outlets)外部ViewController的视图,并在旋转时打开

yourCurrentView = landscapeView/portraitView;
 [self.view addSubview:yourCurrentView];

并设置它[self.view sendSubviewToBack:yourCurrentView];//因为在 self.view 上动态添加的视图仍然位于顶部,现在您添加的视图始终显示在每种模式下。

我希望它会帮助你。

于 2013-06-05T07:20:31.623 回答