Sie diese Schritte, indem Sie die folgenden erreichen:
1- eine benutzerdefinierte Klasse erstellen, die von UIPageControl erbt.
2- Weisen Sie diese Klasse dem erforderlichen UIPageControl zu, dessen Punkte geändert werden sollen.
3- Fügen Sie den folgenden Code in Ihre benutzerdefinierte UIPageControl-Klasse ein.
Setzen Sie dieses in der customClass.m Datei:
-(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];
}
Setzen Sie dieses in der customClass.h Datei
{
UIImage* activeImage;
UIImage* inactiveImage;
}
@property(nonatomic, retain) UIImage* activeImage;
@property(nonatomic, retain) UIImage* inactiveImage;
5- Gerade die aktuelle Seite Ihrer UIPageControl in der Klasse festgelegt, dass Sie Legen Sie die Seitensteuerung mit der folgenden Zeile hinein:
[self.pageControl setCurrentPage:number];
Denken Sie daran, die aktuelle Seite einzustellen in der viewDidLoad() -Methode in der Ansicht von diesem UIPageControl ist drin.
Wenn die Ansicht geladen wird, werden die UIPageControl-Bilder festgelegt.
[** HHPageControl **] (https://github.com/hemangshah/HHPageController) – Hemang
Dies ist kein Betrüger der anderen Frage: hier wollen wir wissen, wie man die Punkte ändert; Der verlinkte "Dupe" möchte nur die Farbe ändern. Meine Lösung ist an Aragons unten angehängt. –
Da dieser "Dupe" keine Antworten mehr akzeptiert, werde ich eine andere Lösung kommentieren. Wenn Sie nur die Größe der Punkte ändern möchten, können Sie pagecontrol.transform = CGAffineTransformMakeScale (2, 2); – mvandillen