我想覆盖setframe,以便它也使标签居中,但是可以这样做:

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

给我一个无限循环。那么我该怎么做呢?

最佳答案

您需要调用[super setFrame:frame]

这将调用UILabel的setFrame实现,而不是您自己的实现。这就是导致您无限循环的原因。

关于iphone - 如何为UILabel覆盖setFrame,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/10304091/

10-09 17:53