OStack程序员社区-中国程序员成长平台

标题: ios - 全局覆盖 UIView setFrame [打印本页]

作者: 菜鸟教程小白    时间: 2022-12-12 18:49
标题: ios - 全局覆盖 UIView setFrame

我想确保我的所有 View 都没有错位,因此我想在所有 uiview 上设置框架时使用 CGRectIntegral。但我不想让所有开发人员都像往常一样设置框架(例如,view.frame = aCGRect)并且它神奇地起作用。我尝试添加一个类别,然后覆盖 UIView 的 setFrame: 方法,但是(显然!)创建了一个无限循环:

-(void)setFrameCGRect)frame{
  self.frame = CGRectIntegral(frame)
}

有没有比添加实用函数更好的方法?



Best Answer-推荐答案


如果只是为了开发/诊断,你也许可以swizzle原始方法(-[UIView setFrame:]),但在您的实现中调用原始方法,传递调整后的矩形。

关于ios - 全局覆盖 UIView setFrame,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21787618/






欢迎光临 OStack程序员社区-中国程序员成长平台 (https://ostack.cn/) Powered by Discuz! X3.4