如何获取 UIPageControl 大小?

Posted

技术标签:

【中文标题】如何获取 UIPageControl 大小?【英文标题】:How to get UIPageControl size? 【发布时间】:2014-04-09 14:24:52 【问题描述】:

在 UIViewController 中,我将 UIPageController 设置为子控制器。 UIPageController 在屏幕底部正确显示页面控制面板。

我的问题是我想将图像放在 UIPageController 中的页面控件上方,为此我想获取页面控制面板的大小。

如何获取页面控制面板的大小?

我试图在 DiceTownAppDelegate 中调整它的大小,但大小没有改变(虽然改变颜色有效):

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary   *)launchOptions
       UIPageControl *pageControl = [UIPageControl appearance];
       pageControl.pageIndicatorTintColor = [UIColor lightGrayColor];
       pageControl.currentPageIndicatorTintColor = [UIColor blackColor];

       pageControl.frame = CGRectMake(0, 0, kScreenWidth, kPageControlHeight);

       pageControl.backgroundColor = [UIColor whiteColor];
       return YES;

【问题讨论】:

【参考方案1】:

你可以在你的 UIPageControl 实例上使用这个方法:

- (CGSize)sizeForNumberOfPages:(NSInteger)pageCount

但这在 AppDelegate 的didFinishLaunchingWithOptions 中不起作用,因为您将无法在那里获得 UIPageControl(它还不存在)。您可能应该在控制器的viewDidLoad 中执行此操作。设置颜色确实有效,因为在您的代码中您正在配置外观代理(不是特定实例),即您告诉您的应用在所有 UIPageControls 中使用此颜色。

【讨论】:

如何获取 UIPageControl 实例?它似乎无法从 UIPageViewController 访问。

以上是关于如何获取 UIPageControl 大小?的主要内容,如果未能解决你的问题,请参考以下文章

UIPageController 与 UIPageControl 结合使用?

如何在 iPad 中正确设置 UIPageControl 大小

当前页面的UIPageControl点大小[重复]

在 iOS 中增加 UIPageControl 大小

iOS 调整UIPageControl圆点大小

在 UIPageViewController 的 UIPageControl 中增加指示器的大小