2017-08-11 63 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 

我希望這可以幫助別人。