我正在尝试将UIButton添加到UIView中,但是在让它响应触摸时遇到了一些麻烦。
我有一个方法,在我为它提供标签后返回UIButtons:
- (UIButton*)niceSizeButtonWithTag:(int)tag {
UIButton * aButton = [UIButton buttonWithType:UIButtonTypeCustom];
[aButton setTag:tag];
[aButton addTarget:self action:@selector(buttonWasTapped:) forControlEvents:UIControlEventTouchUpInside];
CGRect newFrame = aButton.frame;
newFrame.size.width = 44;
newFrame.size.height = 44;
[aButton setFrame:newFrame];
return aButton;
}
正如您所看到的,我正在创建一个新按钮并增加尺寸。 我用以下方式使用它:
UIButton * anotherButton = [self niceSizeButtonWithTag:1];
[anotherButton setImage:[UIImage imageNamed:@"image" withExtension:@"png"] forState:UIControlStateNormal];
[anotherButton setCenter:CGPointMake(middleOfView)];
[aView addSubview:anotherButton];
我创建了很多像这样的按钮,因此该方法的原因。
始终创建按钮并完美地添加到子视图中。我可以看到图像,它们处于正确的位置。问题是他们只对微小的条带做出反应。
在此附图中,
alt text http://web1.twitpic.com/img/107755085-5bffdcb66beb6674d01bb951094b0e55.4c017948-full.png
如果有人能够解释为什么会发生这种情况,那将非常有用。
更新
我应该提一下,我正在尝试将此按钮添加到UIView,这是UITableViewCell的子视图。
更新2:
将它直接添加到UITableViewCell有效,将它添加到UITableViewCell上的UIView会导致错误。
最终更新
问题是我将包含按钮的视图发送到UITableViewCell上子视图的后面。摆脱sendSubviewToBack:
调用修复它。
答案 0 :(得分:1)
添加按钮后,是否有其他视图添加到此包含视图?尝试将视图的一些背景颜色设置为blueColor,redColor和其他颜色,以便更好地查看应用中的视图堆栈。然后你应该可以很容易地看到是否有某种视图阻止按钮。