2017-08-11 51 views

回答

2

您可以重写和实现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委托方法后的愿望(如页码)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 

我希望这可以帮助别人。