gpt4 book ai didi

iphone - 有没有办法改变页面指示器点的颜色

转载 作者:行者123 更新时间:2023-12-03 18:15:49 24 4
gpt4 key购买 nike

我是 iPhone 编程新手,我正在尝试开发一个使用页面控制的应用程序。我的 View 的背景颜色是白色,页面 Controller 默认的背景颜色也是白色,这使得页面控件在我的 View 上不可见,因此我更改了页面控件的背景颜色以使其可见。现在, View 看起来已经修补且很糟糕。有没有办法只改变页面控制的点颜色?

提前致谢

最佳答案

我们自定义了 UIPageControl 以使用自定义图像作为页面指示器,我在下面列出了该类的核心内容...

GrayPageControl.h

@interface GrayPageControl : UIPageControl
{
UIImage* activeImage;
UIImage* inactiveImage;
}

GrayPageControl.m

-(id) initWithCoder:(NSCoder *)aDecoder
{
self = [super initWithCoder:aDecoder];

activeImage = [[UIImage imageNamed:@"active_page_image.png"] retain];
inactiveImage = [[UIImage imageNamed:@"inactive_page_image.png"] retain];

return self;
}

-(void) updateDots
{
for (int i = 0; i < [self.subviews count]; i++)
{
UIImageView* dot = [self.subviews objectAtIndex:i];
if (i == self.currentPage) dot.image = activeImage;
else dot.image = inactiveImage;
}
}

-(void) setCurrentPage:(NSInteger)page
{
[super setCurrentPage:page];
[self updateDots];
}

然后在 View Controller 中我们就像普通的 UIPageControl 一样使用它

IBOutlet GrayPageControl* PageIndicator;

编辑:

在具有 GrayPageControl 的 View Controller 中,我有一个链接到 GrayPageControl.ValueChanged 事件的 IBAction。

-(IBAction) pageChanged:(id)sender
{
int page = PageIndicator.currentPage;

// update the scroll view to the appropriate page
CGRect frame = ImagesScroller.frame;
frame.origin.x = frame.size.width * page;
frame.origin.y = 0;
[ImagesScroller scrollRectToVisible:frame animated:YES];
}

关于iphone - 有没有办法改变页面指示器点的颜色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3409319/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com