gpt4 book ai didi

ios - 如何为 iCarousel 提供可访问的滑动操作

转载 作者:行者123 更新时间:2023-11-28 10:52:13 26 4
gpt4 key购买 nike

我正在尝试制作一款易于访问的应用程序。当我想对 Three-finger swipe right or left 进行标准( iCarousel )行为时,问题就出现了。 .由于 iCarousel 本质上不是完全可访问的,它只是让用户让项目变得用户难以处理。

我做了一些研究,有一些解决方法但是我也不想实现 UIAccessibilityCustomAction因为这不会给用户容易滑动的能力。

最佳答案

您可以覆盖并实现 accessibilityScroll(_:) 方法为:

extension iCarousel {
override open func accessibilityScroll(_ direction: UIAccessibilityScrollDirection) -> Bool {
super.accessibilityScroll(direction)

if direction == UIAccessibilityScrollDirection.left {
self.scroll(byOffset: 1, duration: 1.0)
}
if direction == UIAccessibilityScrollDirection.right {
self.scroll(byOffset: -1, duration: 1.0)
}
return true
}
}

并在 iCarousel 委托(delegate)方法 carouselDidEndScrollingAnimation 中发布愿望(例如页码),您还可以在此处更改 accessibilityLabel 和其他与辅助功能相关的值。

func carouselDidEndScrollingAnimation(_ carousel: iCarousel) {
self.carousel.accessibilityLabel = accLabels[currentItemIndex]
self.carousel.accessibilityValue = accValues[currentItemIndex]
UIAccessibilityPostNotification(UIAccessibilityAnnouncementNotification,
"item \(currentItemIndex + 1) of \(self.items.count)")
}

还在 viewDidLoad 中设置初始 accessibilityLabel 以及:

self.carousel.accessibilityTraits = UIAccessibilityTraitUpdatesFrequently

我希望这对某人有帮助。

关于ios - 如何为 iCarousel 提供可访问的滑动操作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45643930/

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