自定义 UITableview 单元格可访问性无法正常工作

Posted

技术标签:

【中文标题】自定义 UITableview 单元格可访问性无法正常工作【英文标题】:Custom UITableview cell accessibility not working correctly 【发布时间】:2013-01-15 09:07:25 【问题描述】:

我有一个加载表格视图的类。在这个表格视图中有 4 个部分,每个部分有 1 行。每个部分行加载不同的自定义单元格。我已禁用自定义单元格的可访问性。但是启用了单元格中元素的可访问性。

语音开启时,它首先正确读取每个单元格组件。但是在我们用三指手势滚动表格后,表格中的第一个或第二个单元格会获得焦点,并且语音不会读取单元格内的元素。

任何机构都可以在这个问题上帮助我吗?

这是我用自定义单元格加载表格的代码

-(UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath if ([indexPath section] == 1  ) 
    
        static NSString* SettingsTableId = @"HomeAddress";
        pHomeAddressCell = (HomeAddress *)[tableView dequeueReusableCellWithIdentifier:SettingsTableId];

        if (pHomeAddressCell==nil) 
        
            NSArray *nib=[[NSBundle mainBundle] loadNibNamed:@"HomeAddress" owner:self options:nil];
            pHomeAddressCell=[nib objectAtIndex:0];

        
        pHomeAddressCell.delegate = self;
        return pHomeAddressCell ;
    

在自定义单元格“HomeAddress”中,我有一个文本视图和两个按钮。

我发现这个问题只出现在 ios 低于 6 的设备中

【问题讨论】:

配音是什么意思? 请检查。我已经添加了代码。 在单元格出列以供重复使用后,您是否缺少任何单元格设置? @Andrew Tetlaw:我不这么认为。毕竟我的桌子工作正常。但是这个问题与语音退出有关。 【参考方案1】:

“故事板 - 原型表视图单元格不适用于 VoiceOver”.. 至少在 iOS 5 中。

我不知道 .. 它是否已在 iOS 6 中修复。 问题似乎是 VoiceOver 或 UIAccessibility API 正在干扰原型单元格的加载。静态表格视图单元格不会出现此问题..

您可以查看 Open Radar 错误报告 http://www.openradar.me/search?query=voiceover

【讨论】:

我在装有 iOS 6 的设备上测试了我的应用,发现 iOS 6 没有这个问题。 @user1905823 请说点什么……或者……接受它,如果没有什么可说的,请接受 @TonyMkenu 您没有为我的问题指定任何解决方案。相反,您指向了一个显示类似问题的链接。它也没有给出解决方案。这就是我等待的原因。 是一个 iOS 5 错误(故事板)。您必须将 NIB 用于要支持 5.0 的游览单元 ID。对于实施检查useyourloaf.com/blog/2012/09/11/… 和useyourloaf.com/blog/2012/09/07/… 你也有一个例子(woldfact)

以上是关于自定义 UITableview 单元格可访问性无法正常工作的主要内容,如果未能解决你的问题,请参考以下文章

滚动 UITableView 时自定义单元格中的 UITextField 文本正在更改

自定义 UITableViewCell 可访问性

刷新 UITableView 的视图

在使用自定义 UITableViewCell 时检测 UIButton

UITableView 自定义单元格中的 UIButton 触摸无法正常工作

在 TableView 的自定义单元格中添加单选按钮并且无法访问外部