ios - 为表格 View 中的单元格而不是其他单元格关闭画外音焦点

标签 ios accessibility

我的表格 View 中的第一个单元格是一个虚拟单元格,因此,当画外音模式打开时,我想跳过那个单元格,这样焦点就不会出现在那个控件上 因此,画外音没有说出它的任何特征。我写了下面粘贴的代码来实现相同的目的,认为仅 isAccessibilityElement 就足够了。但似乎并非如此。 尽管我说这个元素在代码中是不可访问的,但在 Voice-over 模式下它仍然通过右/左轻弹获得焦点。关于如何实现这一点有什么想法吗?

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
....
     UITableViewCell *cell = (UITableViewCell *)[tableView dequeueReusableCellWithIdentifier:MyIdentifier];
     if(indexPath.row == 0)
     {
          cell.isAccessibilityElement = 0;
     }
}

最佳答案

使用一些自定义单元格,并在该单元格定义中实现:

- (NSInteger)accessibilityElementCount {
    NSIndexPath *indexPath = [(UITableView *)self.superview indexPathForCell: self];
    if(indexPath.row==0){
        return 0;
    }
    else{
        return 1;
    }
}

关于ios - 为表格 View 中的单元格而不是其他单元格关闭画外音焦点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13138319/

相关文章:

iphone - 查看 NSString drawInRect 将使用多少行的简单方法?

ios - 枚举 iOS 上的挂载卷

ios - 如何在 iOS 中将字符串转换为 xml? ( Objective-C ,xcode 7.2)

powershell - 在 Vista 中自动设置双显示器

ios - 是否有在没有不可访问的 Interface Builder 的情况下编写 GUI 的教程?

ios - 动态更新Cordova.plist文件中的外部主机

ios - 如何使用 XMPPFramework 确保我的 XMPP 用户没有 vCard?

android - 如何在 kotlin 中检测用户设置的屏幕缩放级别

accessibility - aria-* 属性无效或拼写错误

ios - 使 UIAlertControlleraccessibilityLabel 与标题不同