我添加了一个新的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”。任何帮助都是超级的!
答案 0 :(得分:9)
可能的问题之一是您在超视图的框架位置添加按钮。只是为了检查它,尝试在其超视图边界中将clipToBounds
属性设置为YES,然后运行应用程序。如果你没有看到按钮,则意味着你将按钮位置设置在最高位置,这就是为什么它没有响应触摸。
答案 1 :(得分:1)
另一个可能的问题是,如果您将UIButton
作为subview
添加到UIImageView
(您不应该这样做,但它有效) 。在这种情况下,您可以将其添加到UIView
或将UIImageView
的{{1}}属性设置为userInteractionEnabled
。