iOS13的一些適配

iOS13不允許 valueForKey、setValue: forKey 獲取和設置私有屬性

iOS13以前:

// textField
[_textField setValue:[UIColor orangeColor] forKeyPath:@"_placeholderLabel.textColor"];
// textView
[_textView setValue:創(chuàng)建的label的對象 forKey:@"_placeholderLabel"];

iOS13以后可以修改為:

// 通過 runtime 獲取對象屬性
// instance:textField或者textView對象
// name:屬性名字例如(@"_placeholderLabel")
Ivar ivar = class_getInstanceVariable(instance.class, name.UTF8String);
UILabel *label = object_getIvar(aTextField, ivar);
// 通過設置label修改

iOS13之后模態(tài)present跳轉(zhuǎn)后頁面沒有充滿屏幕

  • 因為iOS13之后默認類型為 UIModalPresentationPageSheet 導致

解決辦法:

設置 modalPresentationStyle 為 UIModalPresentationFullScreen

iOS13之后 deviceToken 獲取方式改變

  • 修改方式如下:
NSString *tokenStr = nil;
if (@available(iOS 13.0, *)) {
// 適配iOS13
        NSMutableString *deviceStr = [NSMutableString string];
        const char *bytes = deviceToken.bytes;
        NSInteger count = deviceToken.length;
        for (int i = 0; i < count; i++) {
            [deviceStr appendFormat:@"%02x", bytes[i]&0x000000FF];
        }
        tokenStr = deviceStr;
    }else {
// iOS13以前
        NSString *deviceStr = [deviceToken description];
        if ((deviceStr.length > 0) && ([deviceStr rangeOfString:@"<"].location != NSNotFound)) {
            NSString *tk0 = [deviceStr stringByReplacingOccurrencesOfString:@"<"withString:@""];
            NSString *tk1 = [tk0 stringByReplacingOccurrencesOfString:@">"withString:@""];
            tokenStr = [tk1 stringByReplacingOccurrencesOfString:@" "withString:@""];
        }
    }
NSLog(@"%@",tokenStr);
    
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關(guān)閱讀更多精彩內(nèi)容

  • iOS13的beta5版本已經(jīng)出來了,APP適配也應該提上日程了,本文記錄下自己在適配時做的一些工作。 Note:...
    yuyangkk閱讀 32,777評論 4 74
  • Swift Packages 目前Pod跟SPM的兼容還沒做好,配置好SPM后,Pod不能進行正常更新,先配置好P...
    MMOTE閱讀 1,184評論 0 2
  • 對iOS13 適配的總結(jié),下面有些是自己遇到的,有些是收集的,希望能給大家一些思路 iOS13中presentVi...
    1劍天下閱讀 7,706評論 2 9
  • Swift1> Swift和OC的區(qū)別1.1> Swift沒有地址/指針的概念1.2> 泛型1.3> 類型嚴謹 對...
    cosWriter閱讀 11,685評論 1 32
  • 推開窗看天邊白色的鳥,想起你薄荷味的笑。 那時我們什么都不怕,看咖啡色夕陽又要落下。 我們都是好孩子,異想天開的孩...
    童話還不夠美好閱讀 459評論 0 2

友情鏈接更多精彩內(nèi)容