iOS 13 更新內(nèi)容與適配

331562055015_.pic.jpg
iOS13測試版已經(jīng)發(fā)布了,寡人嘗試了一波更新,發(fā)現(xiàn)了一些問題咱筛,一下列出寡人遇到的問題與解決辦法彼妻,可能不全嫌佑,待補(bǔ)充

自定義導(dǎo)航欄

 /* 自定義導(dǎo)航欄 */
    UINavigationBarAppearance * costomNavBar = [[UINavigationBarAppearance alloc] init]; 
/* 導(dǎo)航需要的富文本設(shè)置 可寫成2個,一個標(biāo)準(zhǔn)的侨歉,一個大字體的 */
 NSDictionary *attrDict = @{ NSFontAttributeName:[UIFont systemFontOfSize:10], NSForegroundColorAttributeName: [UIColor blueColor] };
    /* 標(biāo)準(zhǔn)字體的 富文本 */
    costomNavBar.titleTextAttributes = attrDict;
    /* 大標(biāo)題 */
    costomNavBar.largeTitleTextAttributes = attrDict;
    /* 設(shè)置普通自定義導(dǎo)航條 */
    nav.navigationBar.standardAppearance = costomNavBar;
    /* 緊湊高度導(dǎo)航欄外觀設(shè)置 */
    nav.navigationBar.compactAppearance = costomNavBar;
    /* 是否顯示大標(biāo)題 */
    nav.navigationBar.prefersLargeTitles = YES;
    /* 滾到頭時 導(dǎo)航顯示 */
    nav.navigationBar.scrollEdgeAppearance = costomNavBar;

Search

1.Search TextFiled

- (void)setShowsScopeBar:(BOOL)show animated:(BOOL)animate;
 
新屬性: searchTextField
注意:iOS 13 以后不能使用 KVC 方法獲取 輸入框的UITextField屋摇,會崩潰
代碼示例:      UITextField * searchField = [_searchBar valueForKey:@"_searchField"]; 
應(yīng)改為 _searchBar. searchTextField;
新增代理:UISearchTextFieldDelegate
//通過 searchToken(新增標(biāo)識) 搜索
- searchTextField:itemProviderForCopyingToken:

2.Search Token

image.png
UISearchToken * token = [UISearchToken tokenWithIcon:[UIImage imageNamed:@"旺旺"] text:@"喵了個咪"];


presentViewController

兼容問題:

  1. presentViewController彈出的帶導(dǎo)航的控制器如果采用 top,bottom 這種幽邓,會出現(xiàn)視圖距離導(dǎo)航偏差問題炮温,因為它不再從 (0,0)布局了
    建議宏定義 self.navigationController.navigationBar.maxY 從導(dǎo)航條下布局

2.dismiss VC 后牵舵,不再走 View 生命周期方法

 - (void)viewWillAppear:(BOOL)animated柒啤;
- (void)viewWillDisappear:(BOOL)animated;

如果在該方法設(shè)置初始化事件畸颅,請注意該問題

注意:如果不想要這種【小卡片】式彈出可以修改 .modalPresentationStyle
    UINavigationController * nav  = [[UINavigationController alloc] initWithRootViewController:testVC];
    testVC.modalPresentationStyle = UIModalPresentationFullScreen;
/* 如果還是不行担巩,請嘗試修改導(dǎo)航的 modalPresentationStyle*/
    [self presentViewController:nav animated:YES completion:nil];

另外,UIViewController 增加一個了屬性 isModalInPresentation没炒,默認(rèn)為 false涛癌,當(dāng)該屬性為 false 時,用戶下拉可以 dismiss 控制器送火,為 true 時拳话,下拉不可以 dismiss控制器。該屬性可以配合有編輯功能的控制器使用


DeviceToken

#include <arpa/inet.h>                //(友盟提供)
- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken
{
    if (![deviceToken isKindOfClass:[NSData class]]) return;
    const unsigned *tokenBytes = (const unsigned *)[deviceToken bytes];
    NSString *hexToken = [NSString stringWithFormat:@"%08x%08x%08x%08x%08x%08x%08x%08x",
                          ntohl(tokenBytes[0]), ntohl(tokenBytes[1]), ntohl(tokenBytes[2]),
                          ntohl(tokenBytes[3]), ntohl(tokenBytes[4]), ntohl(tokenBytes[5]),
                          ntohl(tokenBytes[6]), ntohl(tokenBytes[7])];
    NSLog(@"deviceToken:%@",hexToken);
}

Window

初始化:
在 SceneDelegate 的 willConnectToSession:(UISceneSession *)session options:(UISceneConnectionOptions 方法中 初始化窗口

    UIWindowScene * windowScene = [[UIWindowScene alloc] initWithSession:session connectionOptions:connectionOptions];
    
   _window = [[UIWindow alloc] initWithWindowScene:windowScene];

UIWindowScene 是管理應(yīng)用程序的一個或多個窗口的特定類型的對象漾脂,有以下屬性:

windows 假颇, screen 窗口的一些東西


//描述場景當(dāng)前環(huán)境的特征,例如大小等級和比例因子
@property(nonatomic, readonly) UITraitCollection *traitCollection;
//方向骨稿,你懂得
@property(nonatomic, readonly) UIInterfaceOrientation interfaceOrientation;
//狀態(tài)欄當(dāng)前配置
@property(nonatomic, readonly) UIStatusBarManager *statusBarManager;

還要說下這個 可以去官網(wǎng)看下

//用于管理場景中發(fā)生的特定于應(yīng)用程序的任務(wù)的其他方法
@protocol UIWindowSceneDelegate
//用于響應(yīng)場景中發(fā)生的生命周期事件的核心方法笨鸡。
@protocol UISceneDelegate

其他屬性修改:
官方不再推薦使用 keywindow 屬性


Dark Mode 暗模式

用Any Appearance變量指定要在不支持暗模式的舊系統(tǒng)上使用的顏色值
兼容問題:
1.沒有設(shè)置背景色的 都變成 黑色了
2.XIb 設(shè)置的黑色 字體姜钳,在該模式下變成白色了,然而我背景卻是白色的形耗,這樣
就感覺字消失了,原因是 xib 字體顏色為 【label color】這是新增的 顏色屬性哥桥,(詳情看下邊的UIColor)改為你想要的顏色
蘋果解釋:https://developer.apple.com/design/human-interface-guidelines/ios/visual-design/color/#dynamic-system-colors

image.png

如果想讓APP保持原狀態(tài) plist 設(shè)置:


image.png

UIColor

Label 顏色

/* 包含主要內(nèi)容的文本標(biāo)簽的顏色 */
@property(class, nonatomic, readonly) UIColor *labelColor;
/* 包含輔助內(nèi)容的文本標(biāo)簽的顏色 */
@property(class, nonatomic, readonly) UIColor *secondaryLabelColor;
/* 包含第三級內(nèi)容的文本標(biāo)簽的顏色 */
@property(class, nonatomic, readonly) UIColor *tertiaryLabelColor;
/* 包含四元內(nèi)容的文本標(biāo)簽的顏色 */
@property(class, nonatomic, readonly) UIColor *quaternaryLabelColor;

填充色

填充色 系統(tǒng)填充顏色包含透明度,以允許顯示背景顏色

/* 系統(tǒng)填充色 */
@property(class, nonatomic, readonly) UIColor *systemFillColor激涤;
/* 使用此顏色填充中等大小的形狀拟糕,例如開關(guān)的背景 */
@property(class, nonatomic, readonly) UIColor *secondarySystemFillColor;
/* 使用此顏色填充大型形狀,例如輸入字段倦踢,搜索欄或按鈕 */
@property(class, nonatomic, readonly) UIColor *tertiarySystemFillColor;
/* 使用此顏色填充包含復(fù)雜內(nèi)容的大區(qū)域送滞,例如展開的表格單元格。 */
@property(class, nonatomic, readonly) UIColor *quaternarySystemFillColor;

其他

不一一列舉了辱挥,有點多犁嗅,寫幾個以后會常用的吧

/* 這啥顏色我也不想復(fù)制了,你懂得 */
@property(class, nonatomic, readonly) UIColor *placeholderTextColor;
/* 分割線顏色 */
@property(class, nonatomic, readonly) UIColor *separatorColor;
/* 隱藏任何基礎(chǔ)內(nèi)容的邊框或分隔線的顏色 */
@property(class, nonatomic, readonly) UIColor *opaqueSeparatorColor;
/* 連接顏色 */
@property(class, nonatomic, readonly) UIColor *linkColor;

******************* 崩潰信息 *******************

注意:當(dāng)前版本是測試版,只是給各位個參考晤碘,但不一定準(zhǔn)確褂微,具體要根據(jù)你的代碼搞一搞

1.[_LSDefaults sharedInstance]: unrecognized selector sent to class 0x1df510dd8
  定位:友盟統(tǒng)計 注冊 key 時會報錯,應(yīng)該是不兼容問題园爷,估計以后 友盟會更新兼容庫

2. UITextField * searchField = [_searchBar valueForKey:@"_searchField"];斷點指示崩潰
修改: _searchBar. searchTextField; 上邊有注
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末宠蚂,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子童社,更是在濱河造成了極大的恐慌求厕,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,284評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件叠洗,死亡現(xiàn)場離奇詭異甘改,居然都是意外死亡旅东,警方通過查閱死者的電腦和手機(jī)灭抑,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,115評論 3 395
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來抵代,“玉大人腾节,你說我怎么就攤上這事』珉梗” “怎么了案腺?”我有些...
    開封第一講書人閱讀 164,614評論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長康吵。 經(jīng)常有香客問我劈榨,道長,這世上最難降的妖魔是什么晦嵌? 我笑而不...
    開封第一講書人閱讀 58,671評論 1 293
  • 正文 為了忘掉前任同辣,我火速辦了婚禮拷姿,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘旱函。我一直安慰自己响巢,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 67,699評論 6 392
  • 文/花漫 我一把揭開白布棒妨。 她就那樣靜靜地躺著踪古,像睡著了一般。 火紅的嫁衣襯著肌膚如雪券腔。 梳的紋絲不亂的頭發(fā)上伏穆,一...
    開封第一講書人閱讀 51,562評論 1 305
  • 那天,我揣著相機(jī)與錄音纷纫,去河邊找鬼蜈出。 笑死,一個胖子當(dāng)著我的面吹牛涛酗,可吹牛的內(nèi)容都是我干的铡原。 我是一名探鬼主播,決...
    沈念sama閱讀 40,309評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼商叹,長吁一口氣:“原來是場噩夢啊……” “哼燕刻!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起剖笙,我...
    開封第一講書人閱讀 39,223評論 0 276
  • 序言:老撾萬榮一對情侶失蹤卵洗,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后弥咪,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體过蹂,經(jīng)...
    沈念sama閱讀 45,668評論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,859評論 3 336
  • 正文 我和宋清朗相戀三年聚至,在試婚紗的時候發(fā)現(xiàn)自己被綠了酷勺。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,981評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡扳躬,死狀恐怖脆诉,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情贷币,我是刑警寧澤击胜,帶...
    沈念sama閱讀 35,705評論 5 347
  • 正文 年R本政府宣布,位于F島的核電站役纹,受9級特大地震影響偶摔,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜促脉,卻給世界環(huán)境...
    茶點故事閱讀 41,310評論 3 330
  • 文/蒙蒙 一辰斋、第九天 我趴在偏房一處隱蔽的房頂上張望信不。 院中可真熱鬧,春花似錦亡呵、人聲如沸抽活。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,904評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽下硕。三九已至,卻和暖如春汁胆,著一層夾襖步出監(jiān)牢的瞬間梭姓,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 33,023評論 1 270
  • 我被黑心中介騙來泰國打工嫩码, 沒想到剛下飛機(jī)就差點兒被人妖公主榨干…… 1. 我叫王不留誉尖,地道東北人。 一個月前我還...
    沈念sama閱讀 48,146評論 3 370
  • 正文 我出身青樓铸题,卻偏偏與公主長得像铡恕,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子丢间,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 44,933評論 2 355