在Xcode 11中,我们无法使用Material来构建应用。

在Xcode 11中,我们无法使用Material来构建应用。

错误信息如下:

*** Assertion failure in -[_UINavigationBarContentView setLayoutMargins:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKitCore_Sim/UIKit-3899.13.13/_UINavigationBarContentView.m:703

在iOS 13上,不允许更改私有视图的布局边距。因此,扩展框架以消除布局边距可以作为替代解决方案。

swift语言解决方案:

for view in subviews {
    if #available(iOS 13.0, *) {
        let margins = view.layoutMargins
        var frame = view.frame
        frame.origin.x = -margins.left
        frame.size.width += (margins.left + margins.right)
        view.frame = frame
    } else {
        view.layoutMargins = .zero
    }
}

oc语言解决方案:

if (@available(iOS 13.0, *)) {
    UIEdgeInsets margins = view.layoutMargins;
    CGRect frame = view.frame;
    frame.origin.x = -margins.left;
    frame.origin.y = -margins.top;
    frame.size.width += (margins.left + margins.right);
    frame.size.height += (margins.top + margins.bottom);
    view.frame = frame;
}else {
    view.layoutMargins = UIEdgeInsetsZero;
}
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 景点介绍:世界之窗位于广东省深圳市深圳湾社区深南大道,是中国著名的缩 微景区(类似北京世界公园),以弘扬世界文化为...
    psm阅读 3,318评论 0 1
  • 昨天我们认识了什么是真正的写作,今天我们说说写作的益处。 写作能带给我们什么样的益处,写作真的那么重要吗?...
    戒得草堂阅读 1,202评论 0 1
  • 一、概述 pgCenter的主要目标是帮助Postgres DBA管理他们在数据库中拥有的统计数据,通过内置统计数...
    消想阅读 6,577评论 4 0
  • 在昨天我们正式结束了一年的学习历程。开始进入了,下一年紧张而又困难的学习。所以在这暑期中一定要做好,对初二...
    执笔写_青春阅读 1,490评论 0 0
  • 酒酣半斤呼老黄,挥鞭鸣哨举鹰苍; 猎枪一动物皆静,代天除暴守安良; 弹满弓弯不虚发,英风气猛震山岗。 ...
    章和法阅读 3,365评论 0 0

友情链接更多精彩内容