2011-07-08 44 views
1

嗯,我有一个视图控制器,将控制我的应用程序的所有子视图(我希望)。当调用initWithNibName:时,第一个视图显示正常。当我在该视图中按下按钮时,它会调用- (IBAction)pause:(id)sender。在这里,我有self.view = pauseView,pauseView是定义的UIView。当显示UIView时,即使正确定义了视图控制器中的调整大小功能并且iphone模拟器以正确的方式旋转(并且方向在Interface Builder中为纵向),它也会以纵向显示。换句话说,从用户的角度来看,一切都是横向的。我该如何解决?UIView被错误的方向初始化

回答

1

暂停视图不接收旋转事件。只有它的查看属性才会收到这些事件。将您的pauseView作为子视图添加到主视图,但将其设置为隐藏。您需要在XIB文件中执行此操作,将pauseView拖放到视图中并找到隐藏属性并将其设置为打开。

更改按钮:

- (IBAction)pause:(id)sender { 
    [pauseView setHidden:NO]; 
} 
+0

这是非常有用的见解。我有一个问题:你说只有视图属性接收旋转事件,以及当我做“self.view = pauseView”,并不意味着self.view指向pauseView?在这种情况下,新的self.view(它现在是一个PauseView)将接收旋转事件? – Relish

+0

我终于找到了一个非常好的解决方案:'[playView addSubview:pauseView]' – Relish

1

尝试使自转:

从视图控制器
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation { 
    return YES; 
}