你如何覆盖UILabel的setFrame

adi*_*dit 10 iphone objective-c ipad ios

我想覆盖setframe,以便它也使标签居中,但是做了类似的事情:

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

给了我一个无限循环.那我该怎么做?

Hei*_*erg 24

你需要打电话[super setFrame:frame].

这将调用UILabel的实现setFrame而不是您自己的实现.这就是造成你无限循环的原因.