我想确保我的所有视图都没有错位,因此想要在所有uiviews上设置框架时使用CGRectIntegral。但我不想让所有的开发者都像通常那样设置框架(例如view.frame = aCGRect),并且它神奇地工作。我尝试添加一个类别,然后重写SETFRAME:方法的UIView但(很明显!)创建了一个无限循环:全局覆盖UIView setFrame
-(void)setFrame:(CGRect)frame{
self.frame = CGRectIntegral(frame)
}
是否有更好的方法来做到这一点比增加了实用功能?
你可以不喜欢它:' - (无效)SETFRAME:(的CGRect)框架{ super.frame = CGRectIntegral(帧) }' –
@MidhunMP你不应该覆盖类别的方法。 – rmaddy
@rmaddy:我以为他是继承UIView –