iOS13适配小记

1.modal控制器交互方式改变
在UIViewController.h里,对于modal的动画方式,多了一个属性来控制

WX20190709-155201.png

默认为顶部露出小一块的方式,如果需要改为以前的全屏方式,则需要在你的UIViewController(或者UINavigationController)里设置

self.modalPresentationStyle = UIModalPresentationFullScreen;

2.去除tabbar黑线

[self.tabBar.subviews enumerateObjectsUsingBlock:^(__kindof UIView * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
            if ([obj isKindOfClass:NSClassFromString(@"_UIBarBackground")]) {
                UIImageView *imageViw = obj.subviews.firstObject;
                if ([imageViw isKindOfClass:[UIImageView class]]) {
                    imageViw.backgroundColor = [UIColor clearColor];
                    imageViw.layer.contents = nil;
                }
                //或者
                //if (imageViw.maskView == nil) {
                //    UIView *maskView = [[UIView alloc] initWithFrame:imageViw.bounds];
                //    imageViw.maskView = maskView;
                //}
            }
        }];

3.去除searchbar黑线

[[[self.subviews firstObject] subviews] enumerateObjectsUsingBlock:^(__kindof UIView * _Nonnull obj, NSUInteger idx, BOOL * _Nonnull stop) {
            if ([obj isKindOfClass:NSClassFromString(@"UISearchBarBackground")]) {
                obj.backgroundColor = [UIColor clearColor];
                obj.layer.contents = nil;
            }
        }];

4.UISearchbar自动给背景色区域加了一个edge,取值为(4,8,4,8)左右,导致iOS12及以前正常尺寸的searchbar在iOS13上看就小了一圈


image.png

5.Sign In with Apple
感觉是很有意思,apple关于此项的设计规范点这儿

image

6.黑夜模式需要适配
开启黑夜模式 [设置]-->[现实与亮度]-->[外观] 选深色


image.png

目前发现Xcode11打包出来的app会被手机设置的darkmode所影响
A.TableViewCell的背景色会被影响


image.png

B.UITextField输入的文本颜色会被影响


image.png

你可能感兴趣的:(iOS13适配小记)