我正在使用一个UIPageViewController
导航设置为水平,过渡样式设置为滚动(在 InterfaceBuilder 中),并且没有脊柱。这给了我一个可爱的 UIPageControl 集成。现在我希望能够切换它是否显示(因为它下面有艺术品)。
我尝试过设置presentationCountForPageViewController
and presentationIndexForPageViewController
返回 0 当UIPageControl
应该是隐藏的,但是当我想要的时候这些方法不会被调用。
暂停堆栈跟踪,我看到它们被调用[UIPageViewController _updatePageControlViaDataSourceIfNecessary]
...我假设如果我尝试使用该方法,我的应用程序将被拒绝。
我应该在子视图中寻找它,还是滚动自己的子视图以便我可以控制它,或者是否有更好的方法来切换其可见性?
Thanks!
我想说,搜索子视图。此代码成功在子视图层次结构中找到 UIPageControl:
NSArray *subviews = pageController.view.subviews;
UIPageControl *thisControl = nil;
for (int i=0; i<[subviews count]; i++) {
if ([[subviews objectAtIndex:i] isKindOfClass:[UIPageControl class]]) {
thisControl = (UIPageControl *)[subviews objectAtIndex:i];
}
}
我用它来自定义点的颜色,我想你可以对 alpha 值做同样的事情或者将它发送到后面或者其他什么。
Apple 没有通过 UIPageViewController 类提供到 UIPageControl 的直接接口,但不需要调用非法方法来访问它......我不明白为什么这会导致应用程序拒绝。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)