美文网首页
ios13 报错Assertion failure in -[_

ios13 报错Assertion failure in -[_

作者: Hero_2b37 | 来源:发表于2019-11-22 14:26 被阅读0次

    在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;
    }
    

    相关文章

      网友评论

          本文标题:ios13 报错Assertion failure in -[_

          本文链接:https://www.haomeiwen.com/subject/ghxqwctx.html