我正在研究一個想要使用3D觸摸屏壓力功能的小項目(例如touch.force
)。眼下UICollectionView:測量單元水龍頭的力
我可以在我的ViewController測量力和它的行爲就像我希望它:
override func touchesMoved(_ touches: Set<UITouch>, with event: UIEvent?) {
if let touch = touches.first {
if traitCollection.forceTouchCapability == UIForceTouchCapability.available {
// 3D Touch capable
let force = touch.force
print("Force: " + force.description)
}
}
}
我有一個UIImageView
呈現的畫面。我還使用自定義UICollectionView
作爲疊加層,其中包含透明單元格和彩色單元格。我試圖達到的目的是衡量兩種力量,並且能夠在按下時從單元格中移除顏色,但我無法同時執行這兩種操作。我可以測量強制,或更改UICollectionView中單元格的顏色,但不能同時更改。
我看到的解決方案是將touches
從UICollectionView轉發到層次結構中的下一個視圖。但是另一種解決方案可以是測量來自定製UICollectionView
內的細胞上的力和註冊水龍頭。
我的問題是,我提出的解決方案有哪些是好的?如果是這樣,我該如何實現它們?
那麼,我在兩天後才知道:'touchesMoved'是一個有效的UIView方法,也可以在UICollectionView中實現。我不知道,只有ViewControllers可以重寫'touchesBegan'等方法。 – Kevin