Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios Swift:ui标签上的ui按钮_Ios_Iphone_Swift_Uibutton_Uilabel - Fatal编程技术网

Ios Swift:ui标签上的ui按钮

Ios Swift:ui标签上的ui按钮,ios,iphone,swift,uibutton,uilabel,Ios,Iphone,Swift,Uibutton,Uilabel,在某些情况下,我必须使UILabel可点击。 我尝试了stackOverflow中的许多答案,以使UIlabelClickable可点击,但都不起作用 最后,我决定将UIButton放置在UILabel上,并使按钮透明 但是,尽管按钮正确定位在标签顶部,但单击按钮不会进行交互。有什么想法吗 谢谢 编辑:此外,还有两个视图,例如view1和view2。由于我的应用程序的结构,我将UIButton和UILabel放置在视图2上,然后将视图2放置在视图1上。 因此: 不透明度为零的视图不可点击。给按钮

在某些情况下,我必须使UILabel可点击。 我尝试了stackOverflow中的许多答案,以使UIlabelClickable可点击,但都不起作用

最后,我决定将UIButton放置在UILabel上,并使按钮透明

但是,尽管按钮正确定位在标签顶部,但单击按钮不会进行交互。有什么想法吗

谢谢

编辑:此外,还有两个视图,例如view1和view2。由于我的应用程序的结构,我将UIButton和UILabel放置在视图2上,然后将视图2放置在视图1上。 因此:


不透明度为零的视图不可点击。给按钮一个非常小的不透明度,但不完全为零。它将不可见,但现在可以打开


或者,使用一个没有标题的普通按钮,其背景颜色的alpha接近零,但不完全为零。同样,这将不可见,但可以点击。

如果您需要可点击的UILabel,则需要移除标签并使用UIButton,然后将按钮的名称更改为标签上所示的名称。这将显示为标签,但可以单击


希望这有帮助

您应该能够将UILabel的userInteractionEnabled设置为true,因为UILabel从其UIView超类继承该属性

我忘了提到,您将不得不对标签使用点击手势识别器,因为UILabel并不像开始时那样从UIControl继承


话虽如此,您只需在UILabel中添加一个点击手势识别器。

实际上,
UIButton
上有一个
标题标签。因此,当您需要可点击的
ui标签时,可以使用
ui按钮
,首先,我将回答您的问题。有两种可能性

1) UILabel可能位于UIButton的顶部,因此您需要将UIButton置于UILabel上

2) 您可能已将UIButton颜色设置为透明颜色,使Alpha设置为0.0f。这使按钮不可点击。因此,您需要更改其颜色设置。将Alpha值设为1.0


仅使用UIButton而不使用UIButton和UILabel的最佳方法。或者仅使用具有userInteractionEnabled属性的UILabel。

为什么不完全删除UILabel,然后使用UILabel按钮?UIButton基本上是一个可点击的UILabel。原因是UILabel运行多个功能,因此我无法更改为UIButton。为什么你不能在UIButton上运行这些功能呢?最初,我的应用程序不需要点击操作,但现在需要。我的意思是我可以切换函数来获取UIButton而不是UILabel,但是因为有很多函数,我只是不想全部修改它们。但如果这是唯一的办法,我会这么做的,谢谢你的Pancylabel正是你需要的显然,我的按钮不在superview中,这就是为什么它不起作用。很抱歉问了个愚蠢的问题,谢谢你的帮助
view2.addSubview(button)
view1.addSubview(view2)