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里面获取。

你可能感兴趣的:(iOS开发 UI适配刘海屏问题)