Swift: 通过扩展更新 UIViewController insets

Swift: Update UIViewController insets via extension

我想在某些设备上更新我所有视图控制器的 UIEdgeInsets,我想看看是否有办法作为扩展在全局范围内进行,而不是创建一个方法并在 viewDidLoad 中为每个视图控制器调用它.有没有办法做到这一点?我尝试使用 awakeFromNib 但这不起作用。

extension UIViewController {

    open override func awakeFromNib() {
        self.additionalSafeAreaInsets = UIEdgeInsets(top: 100, left: 100, bottom: 100, right: 100)
    }

}

我也试过在更改边缘插入后调用 self.viewLayoutMarginsDidChange(),但没有结果。

如有任何建议,我们将不胜感激。我只是覆盖了错误的方法,还是这根本不可能,或者像我想的那样简单。

extension UIViewController {

    open override func awakeAfter(using: NSCoder) -> Any? {
        self.additionalSafeAreaInsets = UIEdgeInsets(top: 100, left: 100, bottom: 100, right: 100)
        return super.awakeAfter(using: using)
    }

}