ios - 我们可以在 UIPageViewController 中自定义页面指示器吗?

标签 ios objective-c uipageviewcontroller

现在是黑色背景的白点。如果我希望它是白色背景的黑点呢?

- (NSInteger)presentationCountForPageViewController:(UIPageViewController *)pageViewController NS_AVAILABLE_IOS(6_0)
{
    return _imageArrays.count;
}// The number of items reflected in the page indicator.
- (NSInteger)presentationIndexForPageViewController:(UIPageViewController *)pageViewController NS_AVAILABLE_IOS(6_0)
{
    return self.intCurrentIndex;
}// The selected item reflected in the page indicator.

最佳答案

您可以使用UIAppearance 来改变UIPageControl 的颜色。在 AppDelegate 的 didFinishLaunchingWithOptions 函数中试试这个。

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

    return YES;
}

编辑:

要将样式仅应用于特定的 View Controller ,请改用 appearanceWhenContainedIn,如下所示:

UIPageControl *pageControl = [UIPageControl appearanceWhenContainedIn:[MyViewController class], nil];

现在,只有 MyViewController 中包含的 UIPageControl 对象会适应这种风格。

感谢 Mike 和 Shinoo!

编辑: 如果您在屏幕底部看到 UIPageControl 周围的黑色背景,这是由于您的 UIPageViewController 的背景颜色而不是 UIPageControl 的背景颜色。您可以按以下方式更改此颜色:

- (void)viewDidLoad {
    [super viewDidLoad];
    self.view.backgroundColor = [UIColor blueColor]; //Set it to whatever you like
}

关于ios - 我们可以在 UIPageViewController 中自定义页面指示器吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17466718/

相关文章:

ios - 如何在加载 View 之前获取按钮大小?

删除持久存储时 iPhone 应用程序崩溃

ios - 让 UIView 响应快速、快速的单击的最佳方法是什么?

ios - 如果我想要基于页面的设计,哪个最好?

ios - 如何添加具有动态宽度的 UIPageViewController

ios - 具有动态用户图像的iOS幻灯片菜单

ios - 使用 GCD 在后台创建 UIKit 对象是一种不好的做法吗?

ios - UIDeviceOrientationDidChangeNotification 返回错误的方向

ios - 如何在 View 中移动 UIPageViewController 的 PageController 按钮位置

IOS IBAction 按钮不会使用 URL 访问网站