Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/106.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 如何为iCarousel提供可访问的刷卡操作_Ios_Swift_Voiceover_Icarousel_Uiaccessibility - Fatal编程技术网

Ios 如何为iCarousel提供可访问的刷卡操作

Ios 如何为iCarousel提供可访问的刷卡操作,ios,swift,voiceover,icarousel,uiaccessibility,Ios,Swift,Voiceover,Icarousel,Uiaccessibility,我正在尝试制作一个可访问的应用程序。当我想要使用标准()行为时,问题就出现了。 因为iCarousel本质上不是完全可访问的,它只允许用户将项目设置为用户难以处理的 我做了一些研究,有一些解决办法,但是 我也不想实现,因为这不会给用户提供轻松的刷卡功能。您可以覆盖并实现 方法如下: extension iCarousel { override open func accessibilityScroll(_ direction: UIAccessibilityScrollDirection

我正在尝试制作一个可访问的应用程序。当我想要使用标准()行为时,问题就出现了。 因为iCarousel本质上不是完全可访问的,它只允许用户将项目设置为用户难以处理的

我做了一些研究,有一些解决办法,但是
我也不想实现,因为这不会给用户提供轻松的刷卡功能。

您可以覆盖并实现 方法如下:

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
我希望这对某人有帮助