4

我添加了一个新的 UIButton

    UIButton *newButton = [UIButton buttonWithType:UIButtonTypeCustom];
    [newButton setFrame:CGRectMake(x, y, width, height)];
    [newButton setTitle:@"" forState:UIControlStateNormal];
    [newButton setTag:x+INDEX_OFFSET];
    [newButton setBackgroundImage:image forState:UIControlStateNormal];
    [newButton addTarget:self action:@selector(buttonPressed) forControlEvents:UIControlEventTouchUpInside];

    [self addSubview:newButton];
    [self bringSubviewToFront:newButton];

我可以在屏幕上看到它,但它没有响应点击手势。它应该调用“buttonPressed”。任何帮助都会很棒!

4

2 回答 2

9

可能的问题之一是您将按钮添加到其父视图之外的框架位置。只是为了轻松检查它,尝试clipToBounds在其超级视图边界中将属性设置为 YES,然后运行应用程序。如果您没有看到按钮,则表示您将按钮位置设置为超视位置,这就是它不响应触摸的原因。

于 2012-09-01T16:58:24.100 回答
2

另一个可能的问题是,如果您将UIButtonas a添加subview到 an UIImageView (您不应该这样做,但它确实有效)。在这种情况下,您可以将其添加到 aUIView或将UIImageViewuserInteractionEnabled属性设置为YES

于 2015-07-16T07:37:44.690 回答