在我的表格視圖中,每個單元格都包含一個比單元格更小的UIView。我只想在用戶點擊這個UIView時執行一個細節視圖的細節,而不是如果他按下了UIView之外的細胞。我試圖給UIView添加一個手勢識別器,但是當調用關聯的方法時,它不知道哪個單元被按下了。我能做什麼 ?桌面視圖UIView上的手勢識別器
0
A
回答
0
您可以以獨特的方式爲每個視圖分配標籤屬性(整數)。例如,它可以是整數,它是段和行的組合。 或來自表格數據源的單元格的某些唯一ID。
然後在識別器中,您可以分析標籤值。
0
在您的單元格子類中創建一個委託協議(和一個委託屬性以匹配),該單元具有像'cellWasSelected:(MYCell *)單元'這樣的一些方法。在cellForRowAtIndexPath中返回單元格時,請將ViewController設置爲單元的代表。在單元格子類中,添加您想要確定何時點擊的機制。手勢很好。調用你的委託方法傳遞self作爲參數。在你的ViewController中,你可以調用tableview indexOfCell(或者類似的東西,不能記住我頭頂的名字)來獲得你需要的索引路徑。然後,手動執行你的搜尋。你可以存儲一個「選中的單元格」,或者使用tableView手動選擇那個單元格,如果已經設置好了,它應該觸發你的segue。
0
您應該爲您的CELL添加一個委託。你能做什麼,你知道,你可以在你的自定義單元格讓你UIView
的參考,像這樣:
@property (nonatomic,weak) IBOutlet UIView *tappableView;
,並添加手勢識別它。
現在,創建一個協議,並創建一個方法,
-(void)didTapViewAtCell:(MyCustomCell*)cell
有一個delegate
是遵守此協議,並呼籲它在你的手勢識別目標的方法。類似...
[self.delegate didTapViewAtCell:self];
在您的UITableViewController
中實現此協議並實現此方法。我認爲這是繼續下去的最好方法。 :)
相關問題
- 1. 整個UIView的手勢識別器
- 2. 帶頁面控件和三個視圖的手勢識別器
- 3. 單視圖上的兩個手勢識別器?
- 4. 一個視圖上的多個手勢識別器
- 5. 手勢識別視頻流
- 6. 在佔位符上使用手勢識別器平移UIImage UIView
- 7. 手勢識別器不能在子視圖上工作
- 8. UIImageView上重疊的手勢識別器
- 9. iPhone UIView touchesMoved:withEvent:不會在帶有手勢識別器的UIView上調用
- 10. 添加手勢識別器
- 11. cocos2d-iOS - 手勢識別器
- 12. 手勢識別器和TableView
- 13. 點擊手勢識別器
- 14. 捏捏手勢識別器
- 15. SpriteKit手勢識別器
- 16. 圖片+捏手勢識別器
- 17. 爲什麼輕擊手勢識別器能夠識別父視圖上的視圖中的輕敲?
- 18. 重疊視圖中的ios手勢識別器
- 19. Kinect手勢識別
- 20. 3D手勢識別
- 21. 如何從一個手勢識別器到另一個手勢識別器
- 22. UItextview與手指手勢識別器
- 23. Swift/UIView與TableView和手勢識別器問題
- 24. xcode:如何禁用手勢識別器出一些視圖?
- 25. UIScrollView在子視圖中打破手勢識別器
- 26. 展開圖像上的捏手勢識別器
- 27. 附上一個平移手勢識別器的圖像
- 28. 如何識別UITableView上的擦手勢?
- 29. MKMapView上的手勢識別 - iPhone
- 30. Android中的手勢識別
Thx對於您的迴應,但我對協議不是很熟悉,您能否解釋一下如何創建一個協議,以及您的意思是「擁有一個遵守此協議的代表」?謝謝 – Coconuts 2014-09-03 13:15:31
https://developer.apple.com/library/ios/documentation/general/conceptual/CocoaEncyclopedia/DelegatesandDataSources/DelegatesandDataSources.html 請先閱讀本文。 :) – avismara 2014-09-03 13:29:56
好吧,我讀過它,但我不確定要很好理解,我還是不明白如何創建一個協議,並有一個堅持它的代表... – Coconuts 2014-09-03 15:55:27