2011-01-27 58 views
2

我试图让一个应用程序在横向模式下工作,我几乎完成了,但由于某种原因,我的视图上的按钮不工作(即他们不按)。我使用的加载初始视图控制器如下根视图控制器:UIViewController风景模式按钮不起作用

 - (void)viewDidLoad 
{ 

     [super viewDidLoad]; 

     StartViewController *viewController = [[StartViewController alloc] initWithNibName:@"StartView" bundle:nil]; 
     self.startViewController = viewController; 
     startViewController.delegate = self; 
     [viewController release]; 

     [self.view addSubview:startViewController.view]; 
    } 

我还设置我的Info.plist文件初始界面定位值,覆盖在我的根视图控制器以下内容:

- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation 
{ 
    // Return YES for supported orientations 
    return((interfaceOrientation == UIInterfaceOrientationLandscapeRight) || 
      (interfaceOrientation == UIInterfaceOrientationLandscapeLeft)); 
    //return (interfaceOrientation == UIInterfaceOrientationPortrait); 
} 

视图加载罚款,并填补了横向模式屏幕,因为它应该,但由于某些原因,我只是不能按任何视图上的按钮。

我敢肯定,这与我使用根视图控制器相关的东西很简单,因为我设法使用一个视图控制器就可以很好地工作。

有人可以帮我吗?

+0

你有没有定义一个按钮点击的方法? – heymrcarter 2011-01-27 19:43:52

回答

4

我认为问题在xib中的某处。 例如该按钮位于UIView,调整大小掩码不正确。因此,在横向模式下,按钮会出现在视图外,触摸无法触及按钮。您可以在所有父视图中检查设置clipSubviews - 如果我是对的,您将不会再看到按钮。

0

我有一个类似的问题。在我的情况下,我是UITableViewCell的子类,并且我已经覆盖了layoutSubviews方法。在那里我正在翻译。但是我忘了放置[super layoutSubviews];在我执行之前。我把它放了之后,按钮又以横向模式工作了。奇怪的是,在肖像中,它的工作和景观不是。