我想在用戶單擊或雙擊UITableViewCell的imageView時收到通知。我一直試圖添加一個子視圖到imageView,並使用touchesBegan:withEvent:在子視圖控制器中,但不能觸發我期望的事件。我該怎麼做?如何獲取UITableViewCell的imageView觸摸事件?
回答
在我的項目中,我添加了用戶交互的子類UIImageView,如果它可以是有用的,你可以簡單地看看蘋果示例代碼項目「TapToZoom」。 簡而言之,您必須啓用用戶交互,並且只有在此之後,UIImageView纔會開始迴應觸摸。 這是通過設置userInteractionEnabled屬性來完成:
[self setUserInteractionEnabled:YES];
那麼你可以通過自定義其他觸摸的特性,例如:
[self setMultipleTouchEnabled:YES];
twoFingerTapIsPossible = YES;
否則,你可能會實現一種縮略圖查看喜歡的照片應用程序,讓我們說。根據您的目標,您還可以考慮使用UIButton,您可以在其中設置背景圖像。我有一個項目,我模仿原始照片應用程序的照片縮略圖視圖,只需在每個tableView行中以編程方式放置四個UIButton,並且工作正常。 乾杯
子類化UIImageView如何幫助?你不能設置UITableViewCell使用的imageview – user102008 2012-03-21 01:40:32
感謝上面的答案,工作已經完成。
My solution: subclass a UIView, override touchesBegan:withEvent: in it's implementation file add the UIView(as subview) to cell.view and cover the position of imageView, then make the subview nearest transparent(alpha=0.015f) done. it works fine
注意:如果字母數量太少(0.01F),也不會觸發觸摸事件,任何人都知道這是爲什麼?
還有一個解決辦法:
添加類別的UIImageView處理觸摸事件。然後發送每個觸摸事件的通知並訂閱視圖控制器(或單元控制器)中的通知。
如果您感覺活潑,也可以將方法調用轉發給視圖控制器。
然後啓用觸摸事件的小區的ImageView的:
[self setUserInteractionEnabled:YES];
現在,所有觸摸將發送要處理它們,沒有子。它可以重複使用。
我嘗試了幾個/幾個不同的解決方案,但這個解決方案工作,並且是最簡單和最乾淨的方式來做到這一點。我可以利用現有的UITableViewCell樣式來佈局單元格(即,我不必爲單元格添加子視圖並將它們放在外面),或者子類化任何東西。非常好,謝謝! – yabada 2010-08-13 17:14:33
- 1. 如何獲取ImageView帶來ImageView的觸摸事件?
- 2. 如何獲得的ImageView觸摸事件回的ImageView父活動
- 3. 觸摸事件ImageView + GLSurfaceView
- 4. 如何使用Android中的觸摸事件從像素獲取ImageView的顏色
- 5. iPhone:在ImageView的處理觸摸事件:
- 6. 與觸摸事件移動imageview的
- 7. iOS:觸摸Imageview時發生的事件
- 8. Android,在ImageView上丟失觸摸事件
- 9. 如何處理縮放的ImageView的觸摸事件?
- 10. 從觸摸事件獲得真正的imageview座標
- 11. 從觸摸事件中獲取指針
- 12. Android - 獲取屏幕觸摸事件
- 13. 在UITextView中獲取觸摸事件
- 14. 從觸摸事件中獲取視圖
- 15. 獲取觸摸事件像iphone
- 16. 如何在觸摸屏幕時獲取服務中的事件?
- 17. UIPageController中的UIViewController如何獲取觸摸事件?
- 18. iphone:我如何獲取觸摸事件的位置?
- 19. 如何在指定的CGRect上獲取觸摸事件
- 20. 觸摸事件
- 21. 觸摸事件
- 22. 如何觸發觸摸事件?
- 23. 如何在Box2d中獲取觸摸事件(Java)
- 24. android:如何從觸摸事件中獲取文本位置
- 25. 如何在視圖之外獲取觸摸事件
- 26. 如何在獲取觸摸事件時禁用移動閾值?
- 27. 獲取ccTouchesMoved的發件人觸摸:(NSSet *)觸及事件:(UIEvent *)事件
- 28. 如何檢測UITableViewCell內部的觸摸
- 29. 使用觸摸事件在imageView中進行連續觸摸檢測..?
- 30. 如何識別其他觸摸事件中的按鈕觸摸事件
imageview通過任何函數都無法觸摸事件。 但是,您可以嘗試放置UIButton而不是imageview並設置該按鈕的背景圖像,以便您可以同時獲得圖像和按鈕觸摸事件。這可能符合你的目的。 – 2009-11-23 08:37:50
看看這個答案:http://stackoverflow.com/questions/1606492/touch-event-is-not-working-in-uimageview/1606616#1606616 – 2009-11-23 08:45:23