Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/97.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UITableView中的辅助功能单元格被节标题阻止_Ios_Objective C_Uitableview_Voiceover - Fatal编程技术网

Ios UITableView中的辅助功能单元格被节标题阻止

Ios UITableView中的辅助功能单元格被节标题阻止,ios,objective-c,uitableview,voiceover,Ios,Objective C,Uitableview,Voiceover,因此,对于我的应用程序,我正在尝试启用完全的画外音辅助功能支持。大部分工作正常,但我在一些UITableView中遇到了一些问题。这些表具有节标题,并设置为UITableViewStylePlain,因此节标题将显示在列表顶部。这些都是为普通用户设计的,但是对于启用了VoiceOver的用户,我遇到了一些问题。当前,当滚动到下一页时,某些元素似乎显示在部分标题下方,这使得它们几乎无法选择。到目前为止,我还无法确定这是否是预期的行为,以及是否可以在不完全删除标题的情况下修复此问题 我已经验证了,如

因此,对于我的应用程序,我正在尝试启用完全的画外音辅助功能支持。大部分工作正常,但我在一些UITableView中遇到了一些问题。这些表具有节标题,并设置为UITableViewStylePlain,因此节标题将显示在列表顶部。这些都是为普通用户设计的,但是对于启用了VoiceOver的用户,我遇到了一些问题。当前,当滚动到下一页时,某些元素似乎显示在部分标题下方,这使得它们几乎无法选择。到目前为止,我还无法确定这是否是预期的行为,以及是否可以在不完全删除标题的情况下修复此问题

我已经验证了,如果我将标题高度设置为0,并且确保UITableView本身没有超出范围,那么滚动工作正常。因此,我的最佳结论是,节标题显示在列表元素的顶部,因此会被节遮挡

举例说明:

滚动前

=-=-=-=-=-=-=-=-=-=-=-=-= (start of list)
Section Header
.........................
Elem 1

.........................
Elem 2

.........................
=-=-=-=-=-=-=-=-=-=-=-=-= (end of list)
滚动后:

=-=-=-=-=-=-=-=-=-=-=-=-=
Section Header            (Elem 3 is here)

.........................
Elem 4

.........................
Elem 5
=-=-=-=-=-=-=-=-=-=-=-=-=
如果我的代码相关:

- (UIView *)tableView: (UITableView *) tableView viewForHeaderInSection: (NSInteger) section
{
    UIView *headerView = [UIView new];
    UIView *containerView = [UIView new];
    // Add stuff to container View
    headerView.frame = CGRectMake( 0.00f, 0.00f,    tableView.frame.size.width, someHeight);
    headerView.backgroundColor = [UIColor whiteColor];
    containerView.frame = headerView.frame;
    [headerView addSubview: containerView];

    containerView.isAccessibilityElement = true;
    containerView.accessibilityLabel = accessibilityLabel;
    headerView.isAccessibilityElement = false;

    return headerView;
}

- (CGFloat) tableView: (UITableView *) tableView heightForHeaderInSection: (NSInteger) section
{
    return someHeight;
}

那么,有人知道一种不完全重写分段逻辑就能解决这个问题的方法吗?

在启用画外音的情况下向左/向右滑动,不会按顺序浏览单元格吗?不幸的是,不适合我/在我的应用程序中。除此之外,我必须假设用户可能会上下滚动,使他们不太了解他们看不到的潜在元素。不是吗?!您是否确定VoiceOver已启用,您正在实际设备上进行测试,并且您正在用一个手指快速执行左右滑动?这是iOS上VoiceOver的基本导航操作(至少其中一个)。如果这不起作用,那么您的问题可能比覆盖表视图单元格的表标题更严重。已经三年多了,但您是否能够在@Daeda找到解决方案?我也有同样的问题