iOS13 开发适配更新

iOS13.png

一、模态视图弹出方式改变

/*
 Defines the presentation style that will be used for this view controller when it is presented modally. Set this property on the view controller to be presented, not the presenter.
 If this property has been set to UIModalPresentationAutomatic, reading it will always return a concrete presentation style. By default UIViewController resolves UIModalPresentationAutomatic to UIModalPresentationPageSheet, but system-provided subclasses may resolve UIModalPresentationAutomatic to other concrete presentation styles. Participation in the resolution of UIModalPresentationAutomatic is reserved for system-provided view controllers.
 Defaults to UIModalPresentationAutomatic on iOS starting in iOS 13.0, and UIModalPresentationFullScreen on previous versions. Defaults to UIModalPresentationFullScreen on all other platforms.
 */
@property(nonatomic,assign) UIModalPresentationStyle modalPresentationStyle API_AVAILABLE(ios(3.2));

就是控制器的modalPresentationStyle属性默认值发生了变化,在iOS13后,系统新添加了一个属性枚举值


UIModalPresentationStyle枚举值.png
新的交互方式默认为下拉dismiss,且导航栏会留白空出;
如果需要点击取消按钮才消失界面的,需要适配;
如果项目中页面高度全部是屏幕尺寸,那么多出来的导航栏高度就会有问题。

如果回到以前的默认值,

//iOS8以上 self为目标控制器
self.modalPresentationStyle = UIModalPresentationOverFullScreen;
//iOS8以下
self.modalPresentationStyle = UIModalPresentationFullScreen;

//如果是UINavigationController为根控制器
UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:searchViewController]; 
nav.modalPresentationStyle = UIModalPresentationOverFullScreen;

二、私有方法 KVC 不允许使用

iOS13后不再允许valueForKey、setValue:forKey: 等方法获取或设置私有属性,虽然编译可以通过,但是在运行时会直接崩溃或不起作用。

👇下面的方法都没有用了哦
// UITextField 的 _placeholderLabel
[textField setValue:[UIColor blackColor] forKeyPath:@"_placeholderLabel.textColor"];
 
// UISearchBar 的 _searchField
[searchBar valueForKey:@"_searchField"];

UITextField有一个attributedPlaceholder属性,占位符富文本,和UILabel等控件的富文本设置一样,可以设置文字颜色,尺寸等。

UITextField *textField = [[UITextField alloc]init];
textField.placeholder = @"我是占位符哦~";
[self.view addSubview:textField];
        
NSMutableAttributedString *attribute_placeholder = [[NSMutableAttributedString alloc]initWithString:textField.placeholder];
[attribute_placeholder addAttribute:NSForegroundColorAttributeName
                              value:[UIColor colorWithWhite:1 alpha:0.2]
                              range:NSMakeRange(0, textField.placeholder.length)];
[attribute_placeholder addAttribute:NSFontAttributeName
                              value:[UIFont systemFontOfSize:14]
                              range:NSMakeRange(0, textField.placeholder.length)];
[searchField setAttributedPlaceholder:attribute_placeholder];

三、searchBar设置textField问题

我们不用再用kvc获取UISearchBar的textField了,因为,iOS13中系统将searchTextField属性暴露出来了,不再是私有属性了,你可以直接调用。

UITextField *searchField = _searchBar.searchTextField;

注意:以上写法在iOS13以下手机运行会崩溃,所以,暂时要写成两种情况的写法,iOS13依然沿用之前的旧写法。
[[[UIDevice currentDevice] systemVersion] doubleValue] >= 13.0加以区分


四、苹果登录 Sign In with Apple

关于苹果登录,如果应用没有使用第三方登录,可以不用添加,如果已经使用了第三方登录(比如微信、QQ、微博等),就必须要加上苹果登录,且要放在最前面。

五、[_LSDefaults sharedInstance]崩溃

遇到'+[_LSDefaults sharedInstance]: unrecognized selector sent to class 0x1dd8f5d40'崩溃问题,可以尝试~pod updatepod库,暂时可以解决问题。


推荐:https://www.jianshu.com/p/d2a0fa7bcbef

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 204,293评论 6 478
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,604评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,958评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,729评论 1 277
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,719评论 5 366
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,630评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 38,000评论 3 397
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,665评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,909评论 1 299
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,646评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,726评论 1 330
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,400评论 4 321
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,986评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,959评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,197评论 1 260
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 44,996评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,481评论 2 342

推荐阅读更多精彩内容