最近在工作中遇到一个问题,现象是WKWebView加载完页面后,显示不全,而且只显示在左边,看了一下x,y的值都是负的。同样的WKWebView,在新建的Demo中显示正常。这就让我很恼火啊!边调边网上找解决方案啊!看到网上有部分人,因为这种原因没有找到解决方案,不得不换回UIWebView。如果你们看到这篇文章了,还是回到WKWebView的怀抱吧!特此记录一下,分享给需要的人!废话不多说,直接看答案吧!
献上解决方案:
WKWebView显示不全现象示例图(已加载某度为例):
八哥原因:自定义的UIView Category中重写了center,造成了冲突。
解决方案:自定义的UIView Category中的center加上前缀。
举例说明(NO BB,Show CODE):
修改前代码:
@interface UIView (Rect)
@property (nonatomic,assign) CGPoint center;
@end
@implementation UIView (Rect)
- (CGPoint)center {
//代码省略
}
- (void)setCenter:(CGPoint)yCenter {
//代码省略
}
@end
修改后代码:
@interface UIView (Rect)
@property (nonatomic,assign) CGPoint y_center;
@end
@implementation UIView (Rect)
- (CGPoint)y_center {
//代码省略
}
- (void)setY_center:(CGPoint)yCenter {
//代码省略
}
@end
总结:写Category需谨慎,记得加上前缀!
参考资料地址:
此文仅供学习交流,转载请注明出处!