我正在尝试进行左对齐的UIPageControl(而不是居中)。我看到子类可以覆盖- (CGSize)sizeForNumberOfPages:(NSInteger)pageCount
,但它似乎没有被调用。下面是我的子类:
@implementation CustomPageControl
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
// Initialization code
}
return self;
}
- (CGSize)sizeForNumberOfPages:(NSInteger)pageCount {
CGSize size = self.bounds.size;
NSLog(@"%f, %f", size.width, size.height);
return size;
}
@end
我甚至明确地尝试拨打[pageControl sizeToFit]
,[pageControl setNeedsLayout]
和[pageControl setNeedsDisplay]
。永远不会被召唤。
任何关于为什么没有被调用的想法,如果这是正确的覆盖方法,或者是否有如何解决这个问题的例子?感谢。
答案 0 :(得分:5)
实际上,我认为我可以使用- (CGSize)sizeThatFits:(CGSize)size
,但后来意识到它不需要。
根据页数增加页面控件的框架。
self.pageControl = [[UIPageControl alloc] initWithFrame:CGRectMake(0, y, 16*([photos count]+1), width)];