iPhone UIButton addTarget无法正常工作

时间:2010-11-13 04:16:12

标签: iphone objective-c cocoa-touch uibutton

在我的iPhone应用程序中,我有SPGameDesk : UIView类,从其他类创建它,如:

SPGameDesk* gameDesk = [[SPGameDesk alloc] init];
[gameDesk createWithLevel:5];
[appWindow addSubview:gameDesk];

在我的SPGameDesk课程中,在一种方法中,我创建了UIButtons

holesRow = [[NSMutableArray alloc] init];
for (int i=0; i<3; i++) {
    [holesRow addObject:[[UIButton alloc] initWithFrame:CGRectMake((40*i)+5, 150, 30, 30)]];
    [[holesRow objectAtIndex:i] setBackgroundColor:[UIColor blueColor]];
    [[holesRow objectAtIndex:i] addTarget:self action:@selector(holeSelected:) forControlEvents:UIControlEventTouchUpInside];
    [self addSubview: [holesRow objectAtIndex:i]]; 
}

在SPGameDesk类中有较低的方法:

- (void)holeSelected:(id)sender {
    NSLog(@"SELECTED");
}

但是,当我触摸我的按钮时,没有任何反应,就像其他UIView覆盖了我的按钮(没有其他UIView),或者像SPGameDeskuserInteraction已禁用(我查了一下 - 事实并非如此)。

我的问题在哪里?我该怎么检查?

1 个答案:

答案 0 :(得分:1)

您的gameDesk视图的框架是什么?它看起来可能是0,0,0,0。尝试将其设置为父窗口的边界。使用initwithframe而不是init。