我有一个UILabel
,我想让它做出反应。我尝试在标签上面放一个按钮,这要归功于我可以与按钮进行交互。但是,按钮不能完全透明,对吗?我可以将按钮的alpha设置为0,02,但它仍然可以在背景上看到。怎么解决这个?也许我可以用其他方式设置属性以使它们完全不可见?还是有其他解决方案吗?
答案 0 :(得分:50)
首先,为什么不使用按钮并将按钮标题设置为标签的内容?
如果您不能/不想这样做,您还可以在标签上设置userInteractionEnabled = YES
,然后在标签上添加手势识别器。
答案 1 :(得分:8)
在斯威夫特:
label.userInteractionEnabled = true
let gestureRecognizer = UITapGestureRecognizer(target: self, action: Selector("labelPressed"))
label.addGestureRecognizer(gestureRecognizer)
点击“操作”:
func labelPressed(){
print("Label pressed")
//Your awesome code.
}
答案 2 :(得分:7)
我通常这样做:
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(pushAction)];
[myLabel addGestureRecognizer:tap];
我不知道它是否适用于标签,但是我只是使用相同的矩形制作透明的UIView并将其放在顶部。
好的,我检查过,它只适用于UIView,但是,请执行此操作:
UIView *tapView = [[UIView alloc] initWithFrame:myButton.frame];
并在addGestureRecognizer方法中添加“tapView”。