【发布时间】:2015-07-10 10:16:48
【问题描述】:
我有一个PageViewController,我想更改UIPageControl 的位置(从屏幕底部到顶部)。
这是我的代码:
UIPageControl *pageControl = [UIPageControl appearance];
pageControl.pageIndicatorTintColor = [UIColor lightGrayColor];
pageControl.currentPageIndicatorTintColor = [UIColor blackColor];
pageControl.backgroundColor = [UIColor whiteColor];
它有效,但点显示在底部,我想将它们显示在顶部。
我试过这个:
pageControl.frame = CGRectMake(0, 0, 100, 37);
和
UIPageControl *pageControl = [[UIPageControl alloc] initWithFrame:CGRectMake(0, 0, 198, 37)];
我还尝试在Storyboard 中创建UIPageControl,在这种情况下,点显示在顶部,但点不显示当前页面位置。
编辑:
在Storyboard 的情况下,我像这样更新currentPage:
- (PageContentViewController *)viewControllerAtIndex:(NSUInteger)index {
if (([self.pageImages count] == 0) || (index >= [self.pageImages count])) {
return nil;
}
PageContentViewController *pageContentViewController = [self.storyboard instantiateViewControllerWithIdentifier:@"PageContentViewController"];
pageContentViewController.pageIndex = index;
self.pageControl.currentPage = index;
return pageContentViewController;
}
但是index 会发疯,永远不要显示真实的currentPage。
有什么想法吗?谢谢
【问题讨论】:
-
在情节提要中设置的情况下,是否设置了
UIPageControl的currentPage属性? -
@frankie 请看我的编辑
-
是否有其他视图遮挡了您的页面控件?
-
应该很直截了当,如果你在一个视图控制器上设置一个单独的
UIPageControl作为出口的测试项目,你可以轻松地在任何地方设置框架并设置currentPage属性。 “index疯了”是什么意思?你的插座连接正确吗?您是否尝试过设置numberOfPages属性以确保显示的点数正确? -
是的@Frankie,这正是我所做的。当我说“
index变得疯狂”时,我的意思是这些点永远不会显示正确的index值
标签: ios position frame uipageviewcontroller uipagecontrol