Ios 如何为iCarousel提供可访问的刷卡操作
我正在尝试制作一个可访问的应用程序。当我想要使用标准()行为时,问题就出现了。 因为iCarousel本质上不是完全可访问的,它只允许用户将项目设置为用户难以处理的 我做了一些研究,有一些解决办法,但是Ios 如何为iCarousel提供可访问的刷卡操作,ios,swift,voiceover,icarousel,uiaccessibility,Ios,Swift,Voiceover,Icarousel,Uiaccessibility,我正在尝试制作一个可访问的应用程序。当我想要使用标准()行为时,问题就出现了。 因为iCarousel本质上不是完全可访问的,它只允许用户将项目设置为用户难以处理的 我做了一些研究,有一些解决办法,但是 我也不想实现,因为这不会给用户提供轻松的刷卡功能。您可以覆盖并实现 方法如下: extension iCarousel { override open func accessibilityScroll(_ direction: UIAccessibilityScrollDirection
我也不想实现,因为这不会给用户提供轻松的刷卡功能。您可以覆盖并实现 方法如下:
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委托方法CarousedDendsCrollinOrganization中发布一个愿望(例如页码),您还可以在此处更改accessibilityLabel和其他与accessibility相关的值
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
我希望这对某人有所帮助。您可以覆盖并实现 方法如下:
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委托方法CarousedDendsCrollinOrganization中发布一个愿望(例如页码),您还可以在此处更改accessibilityLabel和其他与accessibility相关的值
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
我希望这对某人有帮助