iOS开发 UI适配刘海屏问题

这里笔者给出更简单的刘海屏适配例子:

[bottomMenu mas_makeConstraints:^(MASConstraintMaker *make) {
        make.left.equalTo(self.view.mas_left).with.offset(0);
        make.right.equalTo(self.view.mas_right).with.offset(0);
        make.bottom.equalTo(self.view.mas_bottom).with.offset(0);
        if (@available(iOS 11.0, *)) {
            make.top.equalTo(self.view.mas_safeAreaLayoutGuideBottom).mas_offset(-bottomMenuHeight);
        } else {
            // Fallback on earlier versions
            make.top.equalTo(self.view.mas_bottom).mas_offset(-bottomMenuHeight);
        }
    }];

主要利用了safe area来解决刘海屏的距离问题。
使用safe area的时候注意不要在viewdidload里面获取,要等到viewdidapper之后。不然获取到的safe area offset为空,建议在viewdidlayout里面获取。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容