2017-02-27 102 views
0

我有一個UIButton具有四個子UILabels,其中包含有關按鈕功能的信息。當我點擊按鈕的中心時,動作不會被觸發,因爲它被UILabels阻擋,但是當我點擊按鈕的外部時,動作會觸發。有沒有辦法阻止UILabels阻止動作觸發?如何防止UILabel在Swift中阻塞對父UIButton的觸摸?

+1

您是否嘗試過通過設置'.isUserInteractionEnabled = false'來禁用該標籤的用戶交互? – Tj3n

+0

當點擊按鈕的外部時,你怎麼能觸發這個動作?你確定嗎? –

+0

@YUNCHEN UILabels和UIButton兩邊之間的邊距爲5,所以當我點擊邊距時,動作會觸發 – SmedleyDSlap

回答

3

您需要在按鈕上方的任何視圖或其子視圖上設置isUserInteractionEnabled = false

默認UILabel設置爲false,但正如您在評論中提到的那樣,UIStackView沒有。所以調用isUserInteractionEnabled = false就可以了┌(ಠ‿ಠ)┘

+0

啊,很長一段時間我從來沒有測試觸摸手柄高於另一個我從來沒有試過觸摸會「通過」到視圖在它下面。 :) Upvoted,刪除我的答案。 – 2017-02-27 03:18:23