iOS 14 UIDatePicker适配问题,使用老的选择器样式
iOS 14 UIDatePicker 在 13.4 新增了2个属性如下
@property (nonatomic, readwrite, assign) UIDatePickerStyle preferredDatePickerStyle API_AVAILABLE(ios(13.4)) API_UNAVAILABLE(tvos, watchos);
@property (nonatomic, readonly, assign) UIDatePickerStyle datePickerStyle API_AVAILABLE(ios(13.4)) API_UNAVAILABLE(tvos, watchos);
- typedef NS_ENUM(NSInteger, UIDatePickerStyle) { /// Automatically pick the best style available for the current platform & mode.
- UIDatePickerStyleAutomatic, /// Use the wheels (UIPickerView) style. Editing occurs inline.
- UIDatePickerStyleWheels, /// Use a compact style for the date picker. Editing occurs in an overlay.
- UIDatePickerStyleCompact, /// Use a style for the date picker that allows editing in place.
- UIDatePickerStyleInline API_AVAILABLE(ios(14.0)) API_UNAVAILABLE(tvos, watchos), }
- API_AVAILABLE(ios(13.4)) API_UNAVAILABLE(tvos, watchos);
原来的界面选择器样式就变成新的样式,默认会设置成UIDatePickerStyleAutomatic,可以看一下注释Use the wheels (UIPickerView) style. Editing occurs inline.


显示的时候是上面的,选择日期的时候成日历控件了
那怎么才能变成原来的样式呢?
直接上代码
if (@available(iOS 13.4, *))
{ _datePicker.locale = [[NSLocale alloc] initWithLocaleIdentifier:@"zh_CN"];//新发现这里不会根据系统的语言变了
_datePicker.preferredDatePickerStyle = UIDatePickerStyleWheels; }
else
{ // Fallback on earlier versions }
根据项目中的界面样式,发现了2个问题,
1.UIDatePicker 设置背景色没有用了,是透明的。
2.语言不会根据系统语言变化了,要自己设置为中文。

我们会发现确实是之前的滚动齿轮样式了,但是位置不是屏幕宽度了,这里我们需要在样式后面重新设置一下UIDatePicker的frame
//之前在这里设置frame是没问题的,但是iOS13.4之后就没效果了
self.datePicker = [[UIDatePicker alloc]initWithFrame:CGRectMake(0,40, KscreenWidth, 230)];
//设置日期选择器的样式
if (@available(iOS 13.4, *))
{
self.datePicker.preferredDatePickerStyle=UIDatePickerStyleWheels;
} else {
// Fallback on earlier versions
}
//注意日期选择器的frame需要在设置样式后重新设置,在上面设置frame是没效果的
[self.datePicker setFrame:CGRectMake(0,40, KscreenWidth, 230)];
效果如下

iOS 14 UIDatePicker适配问题,使用老的选择器样式的更多相关文章
- 关于IOS的屏幕适配(iPhone)——资源适配
IOS的屏幕适配几乎不需要大量的代码操作,更多的时间我们只是动动鼠标选择一下就搞定.可以苹果在这方面做的还是比较人性的,解放了开发者. 首先来说说Iphone这几种屏(由于最近做的是iPhone AP ...
- iOS 6 & iOS 7 的适配笔记
iOS 6 & iOS 7 的适配 场景1: 没有NavigationController,同时根视图是UIView- (void)viewWillLayoutSubviews{ if ([[ ...
- iOS 14 egret 游戏卡顿问题分析和部分解决办法
现象 总体而言,iOS 14 渲染性能变差,可以从以下三个测试看出. 测试1:简单demo,使用egret引擎显示3000个图(都是同一个100*100 png 纹理),逐帧做旋转.(博客园视频播放可 ...
- iOS 14 YYAnimatedImageView加载图片失败处理
1.问题出在YYAnimatedImageView源码一个方法中 - (void)displayLayer:(CALayer *)layer { if (_curFrame) { layer.cont ...
- iOS 14.5 有啥新功能?Apple Watch 也能解锁 iPhone 了
转: iOS 14.5 有啥新功能?Apple Watch 也能解锁 iPhone 了 苹果今天发布了即将发布的 iOS 14.5 和 iPadOS 14.5 更新的第一个 Beta 版本,我们在其中 ...
- 利用 iOS 14 Vision 的手势估测功能 实作无接触即可滑动的 Tinder App
Vision 框架在 2017 年推出,目的是为了让行动 App 开发者轻松利用电脑视觉演算法.具体来说,Vision 框架中包含了许多预先训练好的深度学习模型,同时也能充当包裹器 (wrapper) ...
- 【转】iOS学习之适配iOS10
适配iOS10 2016年9月7日,苹果发布iOS 10.2016年9月14日,全新的操作系统iOS 10将正式上线. 作为开发者,如何适配iOS10呢? 1.Notification(通知) 自从N ...
- iOS 10 版本适配问题收集-b
随着iOS10发布的临近,大家的App都需要适配iOS10,下面是我总结的一些关于iOS10适配方面的问题,如果有错误,欢迎指出. 1.系统判断方法失效: 在你的项目中,当需要判断系统版本的话,不要使 ...
- iOS 10 的适配问题
随着iOS10发布的临近,大家的App都需要适配iOS10,下面是我总结的一些关于iOS10适配方面的问题,如果有错误,欢迎指出. 1.系统判断方法失效: 在你的项目中,当需要判断系统版本的话,不要使 ...
- iOS 10 的适配问题-b
随着iOS10发布的临近,大家的App都需要适配iOS10,下面是我总结的一些关于iOS10适配方面的问题,如果有错误,欢迎指出. 1.系统判断方法失效: 在你的项目中,当需要判断系统版本的话,不要使 ...
随机推荐
- onnxruntime无法使用GPU加速 加速失败 解决方法【非常详细】
onnx 无法使用GPU加速 加速失败 解决方法[非常详细] 应该是自目前以来最详细的加速失败解决方法GPU加速,收集了各方的资料.引用资料见后文 硬件配置: GPU CUDA版本:12.2 客户架构 ...
- 【Scala】08 模式匹配 Match Case
由Scala封装的一套match case处理,功能比原Java的更为强大 package cn import scala.collection.immutable.IndexedSeqDefault ...
- 【Vue】Re20 VueX 第一部分(共享数据,Getters)
一.概述 专门为VueJS应用程序开发的状态管理模式 集中式存储管理应用的所有组件的状态,按照相应的规则保证状态以一种可预测的方式发生变化 VueX也集成到了官方调试工具devtools extens ...
- conda环境下Python报错:raise MissingCUDAException("CUDA_HOME does not exist, unable to compile CUDA op(s)") CUDA_HOME does not exist, unable to compile CUDA op(s)
conda环境下Python报错: (pytorch) devil@Monster:~$ pip install deepspeed Collecting deepspeed Using cached ...
- fatal error: GL/osmesa.h: No such file or directory
安装mujoco报错: fatal error: GL/osmesa.h: No such file or directory 解决方法: sudo apt install libosmesa6-de ...
- XXL-JOB系统化图文教程
1.背景 大纲 调度任务在系统中中经常用到, 比如 定时发送营销短信 定时检查订单状态 等等..... 总之我们经常会用到定时任务 官方文档:https://www.xuxueli.com/xxl-j ...
- [USACO22FEB] Paint by Rectangles P 题解
前言 没用线段树的小常数.小短码. 题目链接:洛谷. 题意简述 给出 \(n\) 个平行于坐标轴的矩形,各边所在直线互不重合,钦定最外面为白色,对这个平面图黑白染色,分别求黑色块数和白色块数. 题目分 ...
- IntersectionObserver + scrollIntoView 实现电梯导航
电梯导航也被称为锚点导航,当点击锚点元素时,页面内相应标记的元素滚动到视口.而且页面内元素滚动时相应锚点也会高亮.电梯导航一般把锚点放在左右两侧,类似电梯一样.常见的电梯导航效果如下,比如一些官方文档 ...
- android ImageView 设定宽度铺满,高度自定义
问题:imageView 宽度铺满,高度自定义,会出现上下留白的现象(一般比例的还好) 解决: <xxx.xxx.xxx.xxx.FullWidthImageView android:id=&q ...
- LoRA大模型微调的利器
LoRA模型是小型的Stable Diffusion模型,它们对checkpoint模型进行微小的调整.它们的体积通常是检查点模型的10到100分之一.因为体积小,效果好,所以lora模型的使用程度比 ...