3

我已经为自定义表格视图实现了可访问性。我为表格单元格的所有子视图(如图像视图、标签、按钮、文本字段)启用了可访问性。

实施可访问性后,我面临两个问题。

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

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

我已经实现了以下这些方法。

-(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 中不起作用。所以我在单元类中实现这些。

您知道如何解决此可访问性问题吗?请帮忙提出宝贵的建议。

4

1 回答 1

0

如果您的子视图(如您提到的标签、按钮)的框架延伸到大于屏幕大小,则可能会出现问题 #1。

验证是否是这种情况的一种直观方法是更改​​子视图的颜色:如果特定子视图比其他视图扩展得更远,您会注意到可访问性焦点转移。

减小要解决的子视图框架的大小。

于 2018-03-08T18:50:56.387 回答