2016-09-06 28 views
1

我們有一個自定義的UIView子類,由於本討論範圍之外的原因不能簡單地轉換爲UIButton子類,但我們仍然希望它對可訪問性操作作出響應,就好像它是一個按鈕。如何使UIView子類不會從UIButton繼承響應VoiceOver激活手勢?

我們知道我們可以設置'按鈕'的特性,VoiceOver會這樣宣佈它,但是如何讓用戶通過雙擊屏幕上的VoiceOver光標來激活控件在上面?

回答

1

好的,這比我想象的要容易。爲了讓任何UIView響應可訪問性操作,只需實現一個UITapGestureRecognizer並像處理其他任何點擊事件一樣處理即可。這是如何...

let tapGestureRecognizer = UITapGestureRecognizer(target:self, action:#selector(labelTapped)) 
    testLabel.userInteractionEnabled = true 
    testLabel.addGestureRecognizer(tapGestureRecognizer) 

一旦你這樣做,你的標籤將響應無障礙操作。