0
我創建了一個容器,用於在自定義uiview中使用Core Graphics繪製的兩個基於框架的輔助功能元素。UIAccessibilityElement TraitAdjustable
我想要兩個元素,在這種情況下,兩個遊標,以響應一個手指上下滑動,所以我使用的性狀UIAccessibilityTraitAdjustable
。
我已經實施了蘋果公司文檔中描述的協議。我可以選擇這兩個元素,但單指滾動似乎沒有調用accessibilityIncrement
和accessibilityDecrement
。有什麼我錯過了嗎?
-(NSArray *)accessibleElements
{
if (_accessibleElements != nil) {
return _accessibleElements;
}
_accessibleElements = [[NSMutableArray alloc] init];
//add left cursor
UIAccessibilityElement *lcursorEl = [[UIAccessibilityElement alloc]
initWithAccessibilityContainer:self];
lcursorEl.accessibilityFrame = [self convertRect:_lcursorFrame
toView:nil];
lcursorEl.accessibilityLabel = NSLocalizedString(@"Left Cursor", nil);
lcursorEl.accessibilityTraits = UIAccessibilityTraitAdjustable;
[_accessibleElements addObject:lcursorEl];
//add right cursor
UIAccessibilityElement *rcursorEl = [[UIAccessibilityElement alloc]
initWithAccessibilityContainer:self];
rcursorEl.accessibilityFrame = [self convertRect:_rcursorFrame
toView:nil];
rcursorEl.accessibilityLabel = NSLocalizedString(@"Right Cursor", nil);
//rcursorEl.accessibilityTraits = UIAccessibilityTraitAdjustable ;
[_accessibleElements addObject:rcursorEl];
return _accessibleElements;
}
#pragma mark accessible elements protocol methods
- (NSInteger)accessibilityElementCount
{
return [[self accessibleElements] count];
}
- (id)accessibilityElementAtIndex:(NSInteger)index
{
return [[self accessibleElements] objectAtIndex:index];
}
- (NSInteger)indexOfAccessibilityElement:(id)element
{
return [[self accessibleElements] indexOfObject:element];
}
- (BOOL)isAccessibilityElement
{
return NO;
}
-(void)accessibilityIncrement
{
NSLog(@"Adjusting Inc");
}
-(void)accessibilityDecrement
{
NSLog(@"Adjusting dec");
}
我可能會誤解,但不應該在選定的元素上調用accessibilityIncrement和accessibilityDecrement,而不是控制器?如果你繼承UIAccessibilityElement並在那裏實現那些方法會發生什麼? –
絕對現貨我沒有想到,謝謝,現在都在工作 – user1347149