我实现了一个类来处理这对我来说它得到了惹出来的我的代码,并允许我通过“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