我有一個自定義的UIView包含UILabel和UIImageView。如何讓我的UIView可點擊?我希望UIView的背景在用戶開始按下UIView時隨時改變。當用戶擡起按鈕時,顏色應該變回。我還需要能夠處理點擊事件。如何使UIView可點擊
8
A
回答
20
-(void)addGestureRecogniser:(UIView *)touchView{
UITapGestureRecognizer *singleTap=[[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(changecolor)];
[touchView addGestureRecognizer:singleTap];
DBLog(@"ADD GESTURE RECOGNIZER");
}
-(void)changecolor{
// do something
}
1`)這是代碼片段,其中你需要將視圖作爲參數傳遞以便使其可點擊。
4
雨燕2.0版本:
不要忘記實現UIGestureRecognizerDelegate
// Add tap gesture recognizer to View
let tapGesture = UITapGestureRecognizer(target: self, action: Selector("onClickOnView"))
tapGesture.delegate = self
self.view.addGestureRecognizer(tapGesture)
func onClickOnView(){
print("You clicked on view..")
}
雨燕3.0版本:
// Add tap gesture recognizer to View
let tapGesture = UITapGestureRecognizer(target: self, action: #selector(clickView(_:)))
tapGesture.delegate = self
view.addGestureRecognizer(tapGesture)
func clickView(_ sender: UIView) {
print("You clicked on view")
}
7
另一種方式是掛鉤日通過故事板/界面生成器的手勢識別器。
這很容易,而且我覺得比使用代碼更簡潔。
以下是設置手勢識別器的分步參考。只要搜索Gesture Recognizer
:
清單出從上面的鏈接這裏的步驟:
- 將來自
Object library
到場景中的點按手勢識別器對象,並將其放置在頂部UIView的。 - 您將會在膳食
scene dock
中看到一個Tap Gesture Recognizer。場景底座是故事板中視圖控制器的頂部,您有第一個響應者,退出等。 - 通過將場景底座中的手勢識別器拖動到代碼顯示,將Tap手勢識別器連接到您的代碼。像操作UIButton操作一樣填充「操作」對話框。
- 你完成了! :D
相關問題
- 1. 如何在MonoTouch中使UIView可點擊?
- 2. UIView底部不可點擊
- 3. 使UIView區域不可點擊
- 4. 如何使UIView的一個區域成爲可點擊區域
- 5. 如何阻止隱藏的UIView使UITextFields不可點擊?
- 6. 如何使Widget可點擊
- 7. 如何使可點擊
- 8. 如何使EditText可點擊?
- 9. 如何使UILabel可點擊?
- 10. 如何使div可點擊
- 11. 如何使JLabel可點擊?
- 12. 如何點擊NavigationBar的UIView按鈕?
- 13. 如何創建自定義uiview,該按鈕可以在uiview中點擊?
- 14. android如何使relativelayout不可點擊並且其可點擊
- 15. 如何使uiview可移動?
- 16. 如何使UIView可滾動?
- 17. 如何使按鈕點擊後不可點擊?
- 18. 如何使JButton點擊後不可點擊
- 19. 如何使標記點擊並且羣集不可點擊?
- 20. 如何使粒子系統可點擊
- 21. 如何使標題可點擊
- 22. FXML/JavaFX如何使ImageView可點擊?
- 23. 我如何使gridview行可點擊
- 24. 如何使文本框可點擊
- 25. 如何使圖像按鈕可點擊?
- 26. 如何使只有父div可點擊?
- 27. 如何使底層div不可點擊?
- 28. 如何使圖像(un-)可點擊?
- 29. 如何使框陰影可點擊
- 30. 如何使自定義listview可點擊
對不起Noob問題,我是iOS開發新手。 – zzzzzzzzzzzzzzzzzzzzzzzzzzzzzz 2013-03-19 03:29:58
我通常通過點擊手勢來模仿點擊能夠UIView – 2013-03-19 03:31:40
可能重複的[如何添加觸摸事件到UIView?](http://stackoverflow.com/questions/4660371/how-to-add-a點觸摸事件到一個-的UIView) – 2015-07-14 15:46:19