iOS14適配


1.升級xcode12后,tableViewCell的層級關系發生變化,contentView默認被添加到cell的最頂層,現在所有的內容都必須添加到contentView中,否則內容顯示或者事件點擊會被contentView遮擋

2.相冊權限發生了變化,如果有使用TZImagePickerController這個圖片選擇框架的,請一定要更新最新版本,否則顯示會有問題

3.UIDatePicker,iOS14中UIDatePicker新增了一個屬性preferredDatePickerStyle,設置該屬性為UIDatePickerStyleWheels樣式,則可正常顯示老版本的日期滾動樣式了

        UIDatePicker *picker = [UIDatePicker new];
        [picker addTarget:self action:@selector(datePickerDidSelected:) forControlEvents:UIControlEventValueChanged];
        picker.datePickerMode = UIDatePickerModeDate;
        picker.locale = [NSLocale localeWithLocaleIdentifier:@"zh_CN"];
        if (@available(iOS 13.4, *)) {
            picker.preferredDatePickerStyle = UIDatePickerStyleWheels;
        } else {
            // Fallback on earlier versions
        }

4.iOS 14 YYAnimatedImageView不顯示圖片
解決方法: 新建YYAnimatedImageView的分類,實現以下方法

+ (void)load {
    // 獲取系統的對象方法
    Method displayLayerMethod = class_getInstanceMethod(self, @selector(displayLayer:));
    
    // 獲取自己定義的對象方法
    Method displayLayerNewMethod = class_getInstanceMethod(self, @selector(displayLayerNew:));
    
    // 方法交換
    method_exchangeImplementations(displayLayerMethod, displayLayerNewMethod);
}

- (void)displayLayerNew:(CALayer *)layer {
    
    Ivar imgIvar = class_getInstanceVariable([self class], "_curFrame");
    UIImage *img = object_getIvar(self, imgIvar);
    if (img) {
        layer.contents = (__bridge id)img.CGImage;
    } else {
        if (@available(iOS 14.0, *)) {
            [super displayLayer:layer];
        }
    }
}

5.KVC 不允許訪問 UIPageControl的pageImage
新增了API:preferredIndicatorImage設置image


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM