UIAccessibility Tableview滚动问题

时间:2013-12-05 08:18:34

标签: ios uitableview voiceover uiaccessibility

我已为自定义表格视图实现了辅助功能。 我启用了表格单元格的所有子视图的可访问性,如imageview,label,button,textfields。

在实施辅助功能后,我面临两个问题。

  1. 由于可访问性框架焦点,tableviewcell框架表现得如此奇怪。它在画外音滑动事件中向左或向右移动。聚焦使视图框架根据选择对齐。

  2. 如果单元格数量更多则滚动不起作用。直到细胞是可见的可访问性工作正常。一旦焦点转向隐形单元格,表格视图会根据画外音选择滚动,但不会像预期的那样滚动。

  3. 我已实施以下方法。

    -(BOOL)isAccessibilityElement
    {
        return NO;
    }
    
    -(NSInteger)accessibilityElementCount
    {
        return self.subviews.count;
    }
    
    -(id)accessibilityElementAtIndex:(NSInteger)index
    {
        return [self.subviews objectAtIndex:index];
    }
    
    -(NSInteger)indexOfAccessibilityElement:(id)element
    {
        return [self.subviews indexOfObject:element];
    }
    
    -(BOOL)shouldGroupAccessibilityChildren
    {
        return YES;
    }
    

    我读到这些方法在viewcontroller中不起作用。所以我在细胞类中实现这些。

    您是否知道如何解决此辅助功能问题?请帮助您提出宝贵的建议。

1 个答案:

答案 0 :(得分:0)

如果您的子视图(标签,按钮,如您所述)的框架扩展到大于屏幕的大小,则会出现问题#1。

验证是否是这种情况的一种可视方式是更改子视图的颜色:如果特定子视图比其他视图扩展得更远,您将注意到辅助功能焦点偏移。

减小子视图帧的大小以便解决。