iOS 14适配问题

1、UIDatePicker

iOS14 UIDatePicker新增加了一个UI样式

UIDatePickerStyleInline API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(tvos, watchos)

tvos watchos 不可用,具体样式UI效果如下图1所示:


图1

想使用播轮样式,需要设置datePickerMode为UIDatePickerStyleWheels,如图2所示:

 UIDatePicker *datePicker=[[UIDatePicker alloc] init];
    datePicker.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"zh_CN"];
    datePicker.datePickerMode = UIDatePickerModeDateAndTime;
    datePicker.preferredDatePickerStyle = UIDatePickerStyleWheels;
    datePicker.backgroundColor=[UIColor redColor];
    datePicker.frame=CGRectMake(0, 40,self.view.frame.size.width, datePicker.frame.size.height);
    [self.view addSubview:datePicker];
图2

datePickerMode的UIDatePickerStyleAutomatic和UIDatePickerStyleCompact均为单行样式,如图3所示:


图3

点击图3的DatePicker会弹出ios14新样式UI视图,如图4所示:


图4
2、UITableViewCell addSubview需要加载在 contentView ,因为contentView 会置于自定义控件的上层,遮盖自定的视图
// Custom subviews should be added to the content view.
@property (nonatomic, readonly, strong) UIView *contentView;
3、粘贴板问题

查找本地UIPasteboard使用地方可以参考这篇文章iOS14适配——查找那些SDK使用剪切板
如果你的App需要在启动时候去读取粘贴板,这个如果是URL格式的可以参考上述“权限问题适配”文章,用最新api来规避“提示弹框”;如果是从web页来点击跳转到自家App指定页面,之前是采用粘贴板方式来做的,想去规避粘贴板“提示弹框”问题,可以采用Universal Link来处理即可。

4、权限问题适配可以参考这篇博客

链接地址

暂时项目遇到这几个问题,后面遇到继续持续更新...

你可能感兴趣的:(iOS 14适配问题)