как сделать исчезнувшую панель навигации

#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)