2012-01-18 47 views
3

我的應用程序僅包含3種類型的單擊:1個指尖,2個指尖和3個手指指針以及一些輕掃手勢。直接與語音交互?

但是,當Voice Over打開時,它們無法正確檢測到分接頭。

我已經試過

if (UIAccessibilityIsVoiceOverRunning()) { 

UIView *interactionView = [[UIView alloc]init]; 

[self.view addSubview:interactionView]; 

[self.view bringSubviewToFront:interactionView]; 

[interactionView setAccessibilityTraits:UIAccessibilityTraitAllowsDirectInteraction]; } 

不過,這並不與自來水工作

回答

3

爲了能夠處理抽頭(touchesBegan:withEvent:等)的VoiceOver開啓時,您需要設置兩個變量一個UIView:

view.accessibilityTraits = UIAccessibilityTraitAllowsDirectInteraction; 
    view.isAccessibilityElement = YES; 

你沒有設置後者。但請記住,這樣做會禁用在該視圖上執行的一些默認手勢。如果您不需要這些,只需要基本手勢而不是完全控制觸摸,請嘗試在視圖中添加手勢識別器(addGestureRecognizer:),如UITapGestureRecognizer