我有一個UILabel
,我想讓它對觸摸做出反應。我試着在標籤上放一個按鈕,多虧了這個,我可以與按鈕進行交互。但是,按鈕不能完全透明,對嗎?我可以將按鈕的alpha設置爲0,02,但它仍然可以通過背景顯示。如何解決這個問題?也許我可以用其他方式設置屬性以使它們完全不可見?還是有其他解決方案?使UILabel易觸及
17
A
回答
50
首先,爲什麼不直接使用按鈕並將按鈕標題設置爲標籤的內容?
如果您不能/不想這樣做,您還可以在標籤上設置userInteractionEnabled = YES
,然後在標籤中添加一個手勢識別器。
7
我經常這樣做:
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(pushAction)];
[myLabel addGestureRecognizer:tap];
我不知道這是否與標籤的工作原理,但我只是讓具有相同矩形透明的UIView,並把它放在上面。
好吧,我檢查,它只能在UIView的,不過呢,這樣做:
UIView *tapView = [[UIView alloc] initWithFrame:myButton.frame];
並把 「tapView」 在addGestureRecognizer法。
+10
的UITapGestureRecognizer確實對UILabels工作 - 你只需要設置userInteractionEnabled = YES上的UILabel。 – 2011-04-05 15:44:06
8
在斯威夫特:
label.userInteractionEnabled = true
let gestureRecognizer = UITapGestureRecognizer(target: self, action: Selector("labelPressed"))
label.addGestureRecognizer(gestureRecognizer)
讓您在行動點擊:
func labelPressed(){
print("Label pressed")
//Your awesome code.
}
相關問題
- 1. UILabel及其中的圖像
- 2. UILabel未響應觸摸
- 3. UILabel有觸摸方法嗎?
- 4. Linq2SQL:交易涉及的SubmitChanges?
- 5. UIVisualEffectView觸及UITableViewCell
- 6. 觸摸iPhone/iPod/iPad交易
- 7. 觸發沒有交易?
- 8. 越來越觸及
- 9. 按鍵僅觸及
- 10. 增加觸摸手勢區域爲UILabel
- 11. 檢測UILabel上的觸摸事件
- 12. 可可觸摸 - 自定義的UILabel
- 13. 閃爍的UILabel可可觸摸
- 14. 在交易手牌時沒有提及
- 15. 觸摸事件沒有觸及方法?
- 16. 使UILabel塊觸摸事件到它後面的UIViews
- 17. Docusign未觸及webhook網址
- 18. UIScrollView觸及vs子視圖
- 19. 觸及*事件 - SKScene與ViewController
- 20. 觸及科科斯解釋
- 21. ccTouchesMoved [觸及anyObject]混淆?
- 22. NSTimer未及時觸發
- 23. @交易問題以及如何使用@Service
- 24. 高交易系統中的觸發器
- 25. MYSQL觸發器問題 - 非常容易
- 26. UIAlertController或UITextField UILabel UILabel
- 27. 更改的UILabel文本及定位同時不工作
- 28. 使用交易
- 29. 推UILabel與另一個UILabel
- 30. HTML未觸及瀏覽器的頂部
請參閱Josh Brown在 – cynistersix 2012-05-10 22:18:25
以下對「userInteractionEnabled = YES」的評論。謝謝! – Micah 2014-01-22 20:42:05