Как вы переопределяете setFrame для UILabel

Я хотел переопределить setframe так, чтобы он также центрировал ярлык, но делал что-то вроде:

- (void)setFrame:(CGRect)frame 
{
    [self setFrame:frame};
    self.center = CGPointMake(self.superview.center.x, kNavigationBarFrameHeight/2);
}

дает мне бесконечный цикл. Итак, как мне это сделать?

Ответ 1

Вам нужно позвонить [super setFrame:frame].

Это вызовет реализацию UILabel setFrame, а не вашу собственную. Вот что вызывает бесконечный цикл.