1.Xcode 11報(bào)錯(cuò) [_LSDefaults sharedInstance]: unrecognized selector sent to class)
更新友盟,直接更新沒(méi)有反應(yīng)的話(huà)可以嘗試直接指定更新到2.1.1版本
2.KVC方式來(lái)獲取私有屬性被限制.
重災(zāi)區(qū)是textField
[textField setValue:[UIColor red] forKeyPath:@"_placeholderLabel.textColor"];
//替換為
textField.attributedPlaceholder = [[NSAttributedString alloc] initWithString:@"輸入"attributes:@{NSForegroundColorAttributeName: [UIColor red]}];
波及影響到項(xiàng)目中使用的SearchBar的textField
- (UITextField *)sa_GetSearchTextFiled{
if ([[[UIDevice currentDevice]systemVersion] floatValue] >= 13.0) {
return self.searchTextField;
}else{
UITextField *searchTextField = [self valueForKey:@"_searchField"];
return searchTextField;
}
}
3.深夜模式
在開(kāi)發(fā)中,使用的系統(tǒng)控件未設(shè)置背景色或者為透明的情況下,進(jìn)入深夜模式后,控件背景色變?yōu)楹谏?/p>
1)當(dāng)短期內(nèi)無(wú)法適配全部深夜模式的情況的解決辦法
配置plist文件: 在Info.plist 文件中,在plist文件里新增屬性User Interface Style 數(shù)據(jù)格式為string。值設(shè)置為L(zhǎng)ight。
if(@available(iOS 13.0,*)){
self.window.overrideUserInterfaceStyle = UIUserInterfaceStyleLight;
}
2)單個(gè)界面不遵循暗黑模式
UIViewController與UIView 都新增一個(gè)屬性 overrideUserInterfaceStyle
將 overrideUserInterfaceStyle 設(shè)置為對(duì)應(yīng)的模式,則強(qiáng)制限制該元素與其子元素以設(shè)置的模式進(jìn)行展示,不跟隨系統(tǒng)模式改變進(jìn)行改變
1.設(shè)置 ViewController 的該屬性, 將會(huì)影響視圖控制器的視圖和子視2.圖控制器采用該樣式
2.設(shè)置 View 的該屬性, 將會(huì)影響視圖及其所有子視圖采用該樣式
3.設(shè)置 Window 的該屬性, 將會(huì)影響窗口中的所有內(nèi)容都采用樣式,包括根視圖控制器和在該窗口中顯示內(nèi)容的所有演示控制器(UIPresentationController)