1. 程式人生 > >UIView Category 神坑之WKWebView顯示一半

UIView Category 神坑之WKWebView顯示一半

最近在工作中遇到一個問題,現象是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需謹慎,記得加上字首!

參考資料地址:

此文僅供學習交流,轉載請註明出處!