8 iphone objective-c interface-builder uipagecontrol
我见过的应用程序(例如meebo)在UIPageControls上有不同的指标,而不是默认的白色圆圈.
是否有捷径可寻?我已经阅读了UIPageControls的文档,似乎没有替换图像的方法.
Ara*_*gon 21
您可以通过执行以下步骤来实现此目的:
1-创建从UIPageControl继承的自定义类.
2-将此类分配给要更改其点的所需UIPageControl.
3-将以下代码放在自定义UIPageControl类中.
把它放在customClass.m文件中:
-(id)initWithCoder:(NSCoder *)aDecoder
{
self = [super initWithCoder:aDecoder];
if(self)
{
activeImage = [UIImage imageNamed:@"active_dot.png"];
inactiveImage = [UIImage imageNamed:@"inactive_dot.png"];
}
return self;
}
-(void)updateDots
{
for (int i = 0; i < [self.subviews count]; i++)
{
UIImageView* dot = [self.subviews objectAtIndex:i];
dot.frame = CGRectMake(dot.frame.origin.x, dot.frame.origin.y, 14, 14.5);
if (i == self.currentPage)
dot.image = activeImage;
else
dot.image = inactiveImage;
}
}
-(void)setCurrentPage:(NSInteger)page
{
[super setCurrentPage:page];
[self updateDots];
}
Run Code Online (Sandbox Code Playgroud)
把它放在customClass.h文件中
{
UIImage* activeImage;
UIImage* inactiveImage;
}
@property(nonatomic, retain) UIImage* activeImage;
@property(nonatomic, retain) UIImage* inactiveImage;
Run Code Online (Sandbox Code Playgroud)
5-只需使用以下行在您将页面控件放入其中的类中设置UIPageControl的当前页面:
[self.pageControl setCurrentPage:number];
Run Code Online (Sandbox Code Playgroud)
记得在UIPageControl里面的viewDidLoad()方法中设置当前页面.
当加载视图时,将设置UIPageControl图像.
| 归档时间: |
|
| 查看次数: |
36735 次 |
| 最近记录: |