Слайд в UIView с правой стороны экрана влево - PullRequest
0 голосов
/ 21 марта 2019

Я работаю над приложением, в котором я показываю UITableView.Поверх UITableView есть фильтр кнопок.Теперь, нажав эту кнопку, я хочу анимировать UIVIEW для анимации с правой стороны экрана на левую сторону экрана.И он должен оживлять, пока не достигнет 70-процентной ширины экрана.

Теперь, сделав это, предыдущий вид станет немного темнее, я хочу выглядеть и чувствовать себя так же, как навигационный ящик в Android.но это только покажет настройки фильтров в этом UIView.

Я искал, и там слишком много библиотек, чтобы выполнить задачу, которую я хотел, но я хочу написать собственный код и анимировать дизайн UIView или Nib для этого.

Есть ли способ выполнить то, что я хотел, без использования какой-либо библиотеки или чего-то еще?Пожалуйста, дайте мне знать, я жду.Заранее спасибо.

Ответы [ 2 ]

1 голос
/ 22 марта 2019

Способ, которым я люблю анимировать виды, в подобных случаях - это использовать преобразование вида, которое сохраняет макет и внешний вид вида и, как правило, будет выглядеть лучше, чем изменение ширины вида.

UIView.animate(withDuration: 0.35, animations: {

   let moveLeft = CGAffineTransform(translationX: -(view.bounds.width * 0.7), y: 0.0)
    viewController.view.transform = moveLeft

})

Чтобы вернуть вид в нормальное положение, просто снова установите преобразование, используя 0.0 в качестве значения translationX.

UIView.animate(withDuration: 0.35, animations: {

   let zero = CGAffineTransform(translationX: 0.0, y: 0.0)
    viewController.view.transform = zero

})
1 голос
/ 22 марта 2019

Вы можете легко выполнить анимацию, если используете Auto Layout, играя с ограничениями вида.Вы можете ограничить конечную привязку представления ведущей привязкой представления (представление будет за пределами экрана), добавить ссылку на ограничение в коде (добавив IBOutlet) и поиграть с его константой, когда вы хотите показать ее или скрыть(например, вы можете установить константу равной ширине вида, который вы хотите показать).

Теперь, делая это, он сделает предыдущий вид немного темнее, я хочу выглядеть и чувствовать себя так же, как навигационный ящик в Android.но это только покажет настройки фильтров в этом UIView.

Чтобы достичь этого эффекта, вы можете добавить черный вид поверх таблицы и настроить его альфа-значение.Когда слайд в UIView скрыт, вы можете скрыть его, а когда он отображается, вы можете показать его.

...