#ios #swift #xcode
#iOS #swift #xcode
Вопрос:
Как создать панель навигации, которая исчезает? верхняя часть имеет альфа, скажем, 0,5, а нижняя половина равна 0. По мере продвижения сверху вниз альфа уменьшается и становится более прозрачной.
Как вы можете видеть, она становится более прозрачной по мере продвижения по панели навигации.
Комментарии:
1. для чего вы пытались, пожалуйста, подробнее расскажите о своих вопросах.
2. @vaibhav извините?
3. @luke Сначала опубликуйте то, что вы пробовали. Публика не захочет вводить код за вас. Покажите возможные проблемы, с которыми вы сталкиваетесь, и вы, вероятно, получите хороший ответ. Это то, что хотел сказать вайбхав.
4. @pedrouan Я думаю, хотя у меня не так много кода, чтобы показать это. Я отредактировал свой вопрос, чтобы точно показать, чего я пытаюсь достичь. Я мало что могу сказать, кроме того, что я попытался установить для навигационной панели значение x color и y alpha.
Ответ №1:
Попробуйте использовать CAGradientLayer
для этой цели. Я протестировал и работает. Для Swift 3.0.
let gradient: CAGradientLayer = CAGradientLayer()
// put colors into an array, from top to bottom
gradient.colors = [UIColor.black.withAlphaComponent(0.5).cgColor, UIColor.clear.cgColor]
gradient.frame = view.frame
// setting direction and stop points - from top to bottom
gradient.startPoint = CGPoint(x: 0, y: 0)
gradient.endPoint = CGPoint(x: 0, y: 0.5)
yourView.layer.insertSublayer(gradient, at: 0)