UIPageControl子类覆盖

时间:2012-08-20 18:59:57

标签: iphone objective-c ios uipagecontrol

我正在尝试进行左对齐的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]。永远不会被召唤。

任何关于为什么没有被调用的想法,如果这是正确的覆盖方法,或者是否有如何解决这个问题的例子?感谢。

1 个答案:

答案 0 :(得分:5)

实际上,我认为我可以使用- (CGSize)sizeThatFits:(CGSize)size,但后来意识到它不需要。

根据页数增加页面控件的框架。

self.pageControl = [[UIPageControl alloc] initWithFrame:CGRectMake(0, y, 16*([photos count]+1), width)];