gpt4 book ai didi

ios - VoiceOver 页面公告不正确

转载 作者:行者123 更新时间:2023-11-28 09:21:53 26 4
gpt4 key购买 nike

打开 VoiceOver 后,当用户用三个手指滑动滚动时,会播报当前页面,例如:“第 1 页,共 3 页”。然而,这些公告并不总是正确的。

下面的代码创建了一个 ScrollView 并用三个标签填充它(用不同的背景颜色来区分它们):

let scrollView = UIScrollView()
scrollView.frame = view.bounds
view.addSubview(scrollView)

let colours: [UIColor] = [.red, .blue, .green]
var lastView: UIView?

for colour in colours {
let label = UILabel()
label.frame.size = scrollView.frame.size
label.backgroundColor = colour
label.textColor = .white
label.text = "\(colours.firstIndex(of: colour)!)"
label.textAlignment = .center

scrollView.addSubview(label)

label.frame.origin.y = lastView?.frame.maxY ?? 0

lastView = label
}

scrollView.contentSize.height = lastView!.frame.maxY

当我滚动时(如上所述),会发出以下通知:

  • 第 1 页,共 4 页
  • 第 2 页,共 4 页
  • 第 4 页,共 4 页
  • 第 4 页,共 4 页

我做错了什么或者这是 iOS 中的错误?如果是后者,我是否可以应用任何解决方法来确保公布正确的页码?

最佳答案

正如您在评论中提到的,我误解了您的问题。

Is there something I'm doing wrong or is this a bug in iOS?

您没有做错:系统会计算用三指垂直滑动滚动内容所需的总页数,并且它不必与您的标签编号相匹配。

看一下您的代码在下面提供的显示的彩色标签: enter image description here每次滑动都不会在其整个高度和宽度上显示标签,这就是为什么您的页面多于标签数量的原因:这绝对不是错误,这就是它的工作方式

... is there any workaround I can apply to ensure the correct page numbers are announced?

但是,如果这是您愿意达到的目标,我建议您查看 custom scrolling这可能会有所帮助(我从未使用过它,但这是我看到的针对您的目标的唯一查询方式)

因此,很遗憾,对于您提到的问题,没有解决方法,因为即使是原生 iOS 应用程序,它也经常发生。

查看 iPhone 上最右侧的带有小部件的页面,并聆听宣布的页码:第一个宣布对我来说总是错误的(5 页,而只有 3 页)

第一个通知/阅读有时是错误的,但在一些三指垂直滑动之后,系统纠正了它的初始错误,正如我在插图中指出的那样。

这对用户来说不是一个完美的情况,但目前,您无法做任何更好的事情,除非点燃蜡烛以尽快解决此问题。

关于ios - VoiceOver 页面公告不正确,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56591572/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com