1.Xcode 11报错 [_LSDefaults sharedInstance]: unrecognized selector sent to class)
更新友盟,直接更新没有反应的话可以尝试直接指定更新到2.1.1版本
2.KVC方式来获取私有属性被限制.
重灾区是textField
[textField setValue:[UIColor red] forKeyPath:@"_placeholderLabel.textColor"];
//替换为
textField.attributedPlaceholder = [[NSAttributedString alloc] initWithString:@"输入"attributes:@{NSForegroundColorAttributeName: [UIColor red]}];
波及影响到项目中使用的SearchBar的textField
- (UITextField *)sa_GetSearchTextFiled{
if ([[[UIDevice currentDevice]systemVersion] floatValue] >= 13.0) {
return self.searchTextField;
}else{
UITextField *searchTextField = [self valueForKey:@"_searchField"];
return searchTextField;
}
}
3.深夜模式
在开发中,使用的系统控件未设置背景色或者为透明的情况下,进入深夜模式后,控件背景色变为黑色。
1)当短期内无法适配全部深夜模式的情况的解决办法
配置plist文件: 在Info.plist 文件中,在plist文件里新增属性User Interface Style 数据格式为string。值设置为Light。
if(@available(iOS 13.0,*)){
self.window.overrideUserInterfaceStyle = UIUserInterfaceStyleLight;
}
2)单个界面不遵循暗黑模式
UIViewController与UIView 都新增一个属性 overrideUserInterfaceStyle
将 overrideUserInterfaceStyle 设置为对应的模式,则强制限制该元素与其子元素以设置的模式进行展示,不跟随系统模式改变进行改变
1.设置 ViewController 的该属性, 将会影响视图控制器的视图和子视2.图控制器采用该样式
2.设置 View 的该属性, 将会影响视图及其所有子视图采用该样式
3.设置 Window 的该属性, 将会影响窗口中的所有内容都采用样式,包括根视图控制器和在该窗口中显示内容的所有演示控制器(UIPresentationController)
网友评论