我想重写 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/