iOS 9 ve daha yeni destekleyen ediyorsanız, bu davranış artık standarttır.
iOS 8 destekleyen ediyorsanız ve alt, alt sınıf UIPageControl
ve accessibilityIncrement
ve accessibilityDecrement
geçersiz kılar. Ayarlanabilir olduğunu belirtmek için accessibilityTraits
özelliğini geçersiz kılmanız gerekmez - UIPageControl
varsayılan olarak ayarlanabilir.
import UIKit
class AccessibleUIPageControl: UIPageControl {
override func accessibilityIncrement() {
self.currentPage += 1
self.sendActionsForControlEvents(.ValueChanged)
}
override func accessibilityDecrement() {
self.currentPage -= 1
self.sendActionsForControlEvents(.ValueChanged)
}
}
Sonra görünümü denetleyicisi size ValueChanged için dinleyebilir ve yeni sayfa için içerik göstermek için uygun şekilde yanıt:
//viewDidLoad:
self.pageControl.addTarget(self, action: "didChangePage", forControlEvents: .ValueChanged)
func didChangePage() {
let contentOffset: CGFloat = collectionView.frame.size.width * CGFloat(pageControl.currentPage)
collectionView.setContentOffset(CGPointMake(contentOffset, 0), animated: false)
}
Not Eğer/eylem olacak bu hedefe UIPageControl
alt sınıf yoksa o hala çağrılmalı ama mevcut sayfa nokta göstergesi güncellenmeyecek.
Bunu InterfaceBuilder veya programlı olarak mı yapıyorsunuz? [UIAccessibilityTraitAdjustible] özelliğini (http://developer.apple.com/library/ios/#documentation/uikit/reference/UIAccessibilityAction_Protocol/Introduction/Introduction.html) eksik olarak görüyor - Sayfa Denetimini doğrudan veya içeride kullanıyor musunuz? nasıl yönetileceğini bilen başka bir görünüm?) –