iphone - 如何覆盖 UILabel 的 setFrame

标签 iphone objective-c ios ipad

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

相关文章:

iphone - 释放 UIView 后如何重新创建它?

ios - CLLocation Manager startUpdatingLocation第二次调用不起作用

iphone - 如何在ios上实现360度展示案例?

iphone - 在 UItableViewCell 中画一条线

ios - 将另一个类的项目添加到另一个类的属性。 Objective-C

ios - iOS 中的 ccavenue 移动应用程序集成

iphone - 如何在加载了 nib 文件的 UIView 中调整 subview 的大小

iphone - 如何准确找到iPhone项目中内存泄漏的位置

ios - 如何正确判断 Destination View Controller 类

ios - Cocoapods 找不到库