UIButton在添加到子视图时未接收到触摸,但在添加到主视图时会触及

时间:2012-07-05 13:34:41

标签: objective-c ios uiview uiviewcontroller uibutton

基本上我有一个主屏幕,它会在屏幕底部显示背景图像和三个菜单选项。当我将这4个组件添加到RootViewController的视图中时,一切正常。但是如果我做了类似的事情

_mainContainer = [[UIView alloc] init];
self.view = _mainContainer;
_firstScreen = [[UIView alloc] initWithFrame:self.view.frame];

"some code here setting up the subviews"

[buttonLeft addTarget:self action:@selector(startGame) forControlEvents:UIControlEventTouchUpInside];

[_firstScreen addSubview:mainMenuBackground];
[_firstScreen addSubview:buttonLeft];

[_firstScreen addSubview:buttonMid];
[_firstScreen addSubview:buttonRight];
[_mainContainer addSubview:_firstScreen];

基本上,如果我将所有内容直接添加到_mainContainer,按钮就可以工作,如果我将它添加到_firstScreen,然后添加_firstScreen,它们就不起作用。

在_firstScreen上启用了用户交互。我稍后在我的应用程序中做了类似的事情,它工作正常。此外,不确定这是否与它有关,但是尽管我的屏幕以横向显示,并且plist中的所有选项仅设置为横向,当我运行转换时,如flipFromBottom(或其他任何调用的),我的应用程序认为"底部"屏幕是纵向的,直到我移动到我的应用程序中的另一组子视图。 (所以基本上标题画面的表现很复杂。)

我到处寻找解决方案,希望我不会错过一些基本的东西。

1 个答案:

答案 0 :(得分:0)

嘿什么是mainMenuBackground?,如果它是一个图像,它们不需要将它作为一个子视图,相反,正确的方法是将它设置为背景图像。我希望这能解决你的问题