addSubView到UIButton
我正在尝试将子视图添加到UIButton。 现在工作正常。 但是一旦添加子视图,button就不能再点击了。
我使用下面的代码:
UIButton * button = [UIButton buttonWithType:UIButtonTypeCustom]; button.frame = CGRectMake(column*100+24, row*80+10, 64, 64); [button addSubview:asyncImage]; [button addSubview:price]; [button addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];
如果我切出2个addsubviews,该button再次工作。 如果有人知道如何解决这个问题,那就太棒了!
日Thnx !!!
我find了一个快速解决scheme 我需要将asyncimageview设置为以下内容:
asyncImage.userInteractionEnabled = NO; asyncImage.exclusiveTouch = NO;
之后它工作!
尝试:
[UIButton buttonWithType:UIButtonTypeCustom];
代替:
[UIButton buttonWithType:UIButtonControlType];
你试过把:
[asyncImage setUserInteractionEnabled:YES];
在同一个sitiation我做这个动作:从UIButtoninheritance,并添加到自己的button的所有标签和imageview的,最后把新的button,作为最后一个子视图,并添加自我button的目标到最后一个button(也设置backgroundColor clearColor的透明)。 现在它将是可点击的,并正常工作。
这里重要的是要确保userInteractionEnabled
将被设置为NO
。 幸运的是,它可以立即为UIImageView
和UILabel
(也许为UIView
其他子类,但这些是最受欢迎的子视图添加到button),因为默认情况下这个类默认设置为NO
。 不幸的是它在UIView
被设置为YES
,所以确保在这种情况下进行更改。 与任何其他标志乱七八糟不应该是必要的。 问题的本质是很多人不知道这个标志的默认值在子类中是不同的。
在Swift中,testing你的UIButton是否被阻塞
uibtn.userInteractionEnabled = false uibtn.exclusiveTouch = false