好吧,所以我想弄清楚的是如何讓用戶觸摸視圖,將他們的手指拖過視圖到另一個視圖,並且總是知道他們正在拖動哪個視圖。所以如果他們來回走動,你可以不斷打印出他們目前正在拖動手指的視圖。關於這一點的難點在於視圖位於兩個獨立的表視圖單元格中。我原來並沒有提到這一點,因爲我不認爲這會有所作爲,但是我所嘗試的一切都不起作用,因爲他們在表格單元格中。如何拖動手指跨過2個視圖並知道它始終處於哪個視圖
回答
在用戶繼續拖動時,您可以在父視圖或viewController
中使用touchMoved
,那麼您可以使用方法hitTest:inPoint
,該方法將返回該點下的視圖。
下面是一個viewController
一個例子:
override func touchesMoved(touches: Set<UITouch>, withEvent event: UIEvent?) {
// first get the location in the parent view
let location = touches.first!.locationInView(self.view)
// ask the parent view to give you the subview falling under the location
let view = self.view.hitTest(location, withEvent: event)
// do what you want with it
print("View: %@", NSStringFromClass((view?.classForCoder)!))
}
注意:你的所有子視圖必須有userInteractionEnabled = true
您可以通過使用UIControl
類做到這一點,讓你的意見的UIControl
現在通過控制事件爲視圖添加動作TouchDragInside
(UIControlEvents.TouchDragInside)
。然後,無論何時在視圖內拖動這個動作方法都會被調用。
你也可以知道通過使用控制事件時,拖動退出UIControlEvents.TouchDragExit
編輯: 檢測觸摸,當我們從一個我們另一種觀點認爲我們可以用行動UIControlEvents.TouchDragOutside
控制開始拖動事件。使用TouchDragInside
和TouchDragOutside
這兩個視圖的控件事件組合來檢測從一個視圖拖到另一個視圖時的觸摸。
我認爲這是我正在尋找!我必須先完成一個不同的部分,然後才能真正嘗試它,但它看起來正確,因此我將其檢查爲正確答案:) –
如果我已經有了一個類視圖,那麼我只是讓該類UIControl而不是UIView類? –
好吧,所以我得到了這個工作,它在功能上是這樣做的。唯一的問題是當它將一個視圖拖到另一個視圖上時,它不會觸及另一個視圖。它正在做什麼功能,但我怎麼開始觸摸另一個視圖? –
- 1. iOS如何知道哪個視圖控制器應該處於活動狀態?
- 2. 2 AutoCompleteTextView的,如何知道哪個視圖被選中
- 3. 如何用兩個手指拖動視圖
- 4. 如何知道哪個視圖與哪個控制器關聯?
- 5. Odoo如何知道基於URL的哪個視圖文件
- 6. 通過視圖拖動手指並使其工作
- 7. 如何知道listView行的哪個視圖被點擊過?
- 8. 檢測哪個視圖在手機上處於活動狀態
- 9. 如何添加UIView作爲最頂層視圖的子視圖而不知道它是哪個視圖?
- 10. 如何知道列表視圖是否處於活動狀態?
- 11. 如何在拖動其他視圖時移動一個視圖
- 12. 我如何知道從哪個主視圖調用的部分視圖?
- 13. 如何知道哪個視圖控制器呈現視圖控制器
- 14. Android ::一個視圖知道它何時滾動?
- 15. 如何讓視圖控制器知道它的視圖的類?
- 16. 滾動視圖的子視圖如何知道滾動視圖正在滾動
- 17. Android:拖動多個視圖
- 18. 如何爲2個視圖指定onActivityResult()?
- 19. 如何同時拖動2個滾動視圖?
- 20. Xcode:Autolayout設置一個視圖始終處於頂端
- 21. 用手指拖動子視圖控制器並鎖定點
- 22. bodyParser如何知道要向req.body填充哪個視圖?
- 23. 如何知道哪個視圖具有當前焦點
- 24. 如何知道正在觸摸哪個視圖
- 25. 視圖如何知道ajax MVC WebGrid在哪個頁面上?
- 26. 如何知道哪個segue被用來加載視圖
- 27. Spring如何知道使用哪個視圖解析器?
- 28. Spring如何知道要返回哪個視圖?
- 29. 如何知道哪個的viewController當子視圖除去
- 30. 作爲UITableView的子視圖拖動UIView滯後於手指
@wayne所有子視圖必須有用戶交互啓用了則hitTest –
這不是什麼印刷 –
你的意思是不打印任何工作,你應該得到的東西在領事 –