UIButton不可触碰

时间:2014-06-30 19:44:34

标签: ios objective-c xcode5

我有一个NSDictionary,它包含将在数组中使用的对象集,以根据需要创建任意数量的对象。我在图片的右上角有一个删除按钮,由于某种原因,我无法点击它。我会把它写出来......

-(void)addItemsToSomething:(NSMutableArray*)array
{

    for (NSDictionary *item in array)  {

    UIImageView *container....

    UIImageView *boxInContainer....

    UIButton *delete = [UIButton new];
    delete.frame = CGRectMake(70, -4, 24, 26);
    delete.userInteractionEnabled = YES;
    [delete setBackgroundImage:[UIImage imageNamed:@"image.png"] forState:UIControlStateNormal];
    [delete addTarget:self action:@selector(delete:) forControlEvents:UIControlEventTouchUpInside];
    [boxInContainer addSubview:delete];

    some math....
}
more math
}

-(void)delete:(id)sender
{
    NSLog(@"Do I work");
}

NSLog永远不会在日志中显示,也不会显示按钮阴影以显示它。我甚至将userInteractionEnabled设置为YES只是为了尝试覆盖另一个基地,但按钮仍然盯着我,并且不会点击。谢谢您的帮助。

这一切都放在了滚动视图上,忘了那个部分。

2 个答案:

答案 0 :(得分:2)

问题是你把它放在UIImageView上。 UIImageView默认情况下userInteractionEnabled设置为NO。只需更改boxInContainer.userInteractionEnabled = YES;,按钮即可生效!

哦,如果boxInContainercontainer的子视图,那么您还必须设置container.userInteractionEnabled = YES;

答案 1 :(得分:1)

我认为,你的父容器视图超出了他的superView的范围。 要检查这一点,请尝试将clipToBounds属性设置为YES以查看父容器视图的超级视图,然后看,您的按钮仍然可见吗?