我實現了一個類來處理這對我來說它得到了惹出來的我的代碼,並允許我通過「pageController.pageControl」
訪問的PageControl Objective-C
// Header
@interface UIPageViewController (PageControl)
@property (nonatomic, readonly) UIPageControl *pageControl;
@end
我還使用了遞歸(由塊處理),以防蘋果決定更改實現causin g UIPageControl不在第一層子視圖中。
// Implementation
#import "UIPageViewController+PageControl.h"
@implementation UIPageViewController (PageControl)
- (UIPageControl *)pageControl
{
__block UIPageControl *pageControl = nil;
void (^pageControlAssignBlock)(UIPageControl *) = ^void(UIPageControl *blockPageControl) {
pageControl = blockPageControl;
};
[self recurseForPageControlFromSubViews:self.view.subviews withAssignBlock:pageControlAssignBlock];
return pageControl;
}
- (void)recurseForPageControlFromSubViews:(NSArray *)subViews withAssignBlock:(void (^)(UIPageControl *))assignBlock
{
for (UIView *subView in subViews) {
if ([subView isKindOfClass:[UIPageControl class]]) {
assignBlock((UIPageControl *)subView);
break;
} else {
[self recurseForPageControlFromSubViews:subView.subviews withAssignBlock:assignBlock];
}
}
}
@end
這可能是矯枉過正滿足您的需求,但它運作良好,爲我
謝謝。這反映了我發佈給自己的答案,這個答案在5月份顯然被刪除了......儘管在我的解決方案中,如果它是UIPageControl類,我設置隱藏:navhidden;如果不是,我設置ClipsToBounds:!navhidden。哪裏navhidden在通話中切換.... –
它不適用於我,運行iOS 9.0的Xcode 7.0.1。 – turingtested