1、关于UITabBarItem字体颜色问题
UITabBarItem * barItem = [UITabBarItem appearance];
///统一设置
UIFont * font =[UIFont systemFontOfSize:10];
NSString * title = @"";
///未被选中
NSDictionary * dicNormal = nil;
UIImage * normalimage = [UIImage imageNamed:@"xxx.png"];
///如果图标被转为蓝色 需要此方法
normalimage = [[[UIImage alloc]initWithCGImage:normalimage.CGImage scale:3 orientation:UIImageOrientationUp] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
dicNormal = [NSDictionary dictionaryWithObjectsAndKeys:[UIColor redColor],NSForegroundColorAttributeName, font, NSFontAttributeName, nil];
///被选中
NSDictionary * dicSelected = nil;
UIImage * selectedImage = [UIImage imageNamed:@"xxx.png"];
selectedImage = [[[UIImage alloc]initWithCGImage:selectedImage.CGImage scale:3 orientation:UIImageOrientationUp] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];
dicSelected = [NSDictionary dictionaryWithObjectsAndKeys:[UIColor blackColor], NSForegroundColorAttributeName, font, NSFontAttributeName, nil];
barItem = [[UITabBarItem alloc] initWithTitle:title image:normalimage selectedImage:selectedImage];
[barItem setTitleTextAttributes:dicSelected forState:UIControlStateSelected];
[barItem setTitleTextAttributes:dicNormal forState:UIControlStateNormal];
if (@available(iOS 13.0, *)) {
self.tabBar.tintColor //被选中的颜色
self.tabBar.unselectedItemTintColor ///为被选中的颜色
} else {
}
2、关于presentViewController 不会全屏
升级iOS后 创建新的ViewController的时候不会默认把modalPresentationStyle设为UIModalPresentationFullScreen需要手动将推出的ViewController的modalPresentationStyle设为UIModalPresentationFullScreen
TestViewController * vc = [[TestViewController alloc]init];
vc.modalPresentationStyle = UIModalPresentationFullScreen;
[self presentViewController:vc animated:YES completion:nil];
3、关于cell设置accessoryType 显示箭头 出现边框问题
针对这个问题 目前好像没有一个明确的解决方法
方法1:如果可以 尽量在iOS 13中不显示箭头 或者自定义cell添加箭头
if (@available(iOS 13.0, *)) {
cell.accessoryType = UITableViewCellAccessoryNone;
} else {
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
}
方法2 :修改cell的accessoryView 其实这也是一种自定义的方式
if (@available(iOS 13.0, *)) {
UIImageView * arrowIcon = [[UIImageView alloc]initWithImage:[UIImage imageNamed:@"箭头图标名称"]];
cell.accessoryView = arrowIcon;
} else {
cell.accessoryType = UITableViewCellAccessoryDisclosureIndicator;
}
4、关于LaunchImage的设置
在iOS13 以前 我们设置LaunchImage 只需要将这个设置在Launch Screen File就可以了
LaunchScreen.storyboard 和 LaunchImage 都可以共享Launch Screen File的设置。
但是在iOS13的时候 你会发现在Launch Screen File中设置了LaunchImage 并没有什么用
解决方法 在Build Settings 中设置
5、关于暂时不适配深色模式
如果您的项目暂时不想适配深色模式的话解决方法
在info.plist中添加一个
UIUserInterfaceStyle 值为 UIUserInterfaceStyleLight
6、状态栏字体颜色
在iOS13以前UIStatusBarStyleDefault默认是状态栏字体颜色为黑色,但是在iOS13以后可能无效
而UIStatusBarStyleLightContent依然有效
13后新增了一个UIStatusBarStyleDarkContent 所以 我们如果需要适配状态栏字体颜色 需要进行如下操作
///如果是需要设置为黑色 需要进行如下判断
if (@available(iOS 13.0, *)) {
[self setStatusBarStyle:UIStatusBarStyleDarkContent];
}else{
[self setStatusBarStyle:UIStatusBarStyleDefault];
}