Тени в стеке UINavigationController - PullRequest
0 голосов
/ 26 апреля 2019

В стеке UINavigationController как я могу изменить атрибуты самого верхнего viewController'а, например .view.layer.shadowRadius?

Другими словами, мне нужно изменить defaultRadius по умолчанию, который отделяет видимые viewControllers при перемещении назад к RootViewController.

Большое спасибо.

Редактировать: проблема не в создании атрибутов, а в том, чтобы найти правильное представление в стеке или принять альтернативный shadowRadius.

1 Ответ

0 голосов
/ 26 апреля 2019

Лучший способ - добавить это расширение в ваш класс, добавить расширение в конце вашего класса и добавить тень, а также радиус угла к любому виду, а также к контроллеру навигации:)

extension UIView {


@IBInspectable
var cornerRadius: CGFloat {
    get {
        return layer.cornerRadius
    }
    set {
        layer.cornerRadius = newValue
    }
}

@IBInspectable
var borderWidth: CGFloat {
    get {
        return layer.borderWidth
    }
    set {
        layer.borderWidth = newValue
    }
}

@IBInspectable
var borderColor: UIColor? {
    get {
        if let color = layer.borderColor {
            return UIColor(cgColor: color)
        }
        return nil
    }
    set {
        if let color = newValue {
            layer.borderColor = color.cgColor
        } else {
            layer.borderColor = nil
        }
    }
}

@IBInspectable
var shadowRadius: CGFloat {
    get {
        return layer.shadowRadius
    }
    set {
        layer.shadowRadius = newValue
    }
}

@IBInspectable
var shadowOpacity: Float {
    get {
        return layer.shadowOpacity
    }
    set {
        layer.shadowOpacity = newValue
    }
}

@IBInspectable
var shadowOffset: CGSize {
    get {
        return layer.shadowOffset
    }
    set {
        layer.shadowOffset = newValue
    }
}

@IBInspectable
var shadowColor: UIColor? {
    get {
        if let color = layer.shadowColor {
            return UIColor(cgColor: color)
        }
        return nil
    }
    set {
        if let color = newValue {
            layer.shadowColor = color.cgColor
        } else {
            layer.shadowColor = nil
        }
    }
}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...