В настройках икскода есть “cover vertical” для сеги, но нет “cover horizontal”. В интернетах есть примеры реализации горизонтальной прокрутки, но настолько сложно всё и очередные костыли какие-то. Подскажите, пожалуйста, может возможно это реализовать просто, может уже есть такой метод какой-то в свифте?
[решено] Горизонтальный свайп
не совсем понял связь между горизонтальным скролом и сигвеем.
можете показать пример что вы хотите?
Это я не так, видимо выразилась, cover horizontal нужен, а там только cover vertical есть
Думаю не обязательно, просто у меня почему-то сложилось внутреннее очучение, что если использовать Present Modally, то это “качественно” … открылось окно, закрылось окно, без лишних следов, если можно так выразиться, я просто боюсь такого эффекта, что очень много раз если открывать в другом режиме, то они как-то наслаиваются друг на друга и потом всё тупит, у меня так в некоторых сторонних приложениях было и приходилось перезапускать.
делайте обычный Push и по дефолту оно появится с правого края, если нужно скрыть navigation bar, делаете в viewWillAppear.
если же Push не подойдет, скину код для Present Modally, только у меня он работает сверху.
@IBOutlet weak var containerTopMargin: NSLayoutConstraint!
@IBOutlet weak var containerHeight: NSLayoutConstraint!
private var defContainerHeight: CGFloat!
private var defViewAlpha: CGFloat!
private func arrangeViews(isStart: Bool, completion: (() -> ())? = nil) {
containerTopMargin.constant = isStart ? defContainerHeight : -containerHeight.constant
UIView.animate(withDuration: 0.3, animations: {
self.view.layoutIfNeeded()
self.view.alpha = isStart ? self.defViewAlpha : 0
}) { (_) in
completion?()
}
}
override func viewDidLoad() {
super.viewDidLoad()
defViewAlpha = view.alpha
defContainerHeight = containerTopMargin.constant
containerHeight.constant = 300
// disable views
// we will show views with animation later
view.alpha = 0
containerTopMargin.constant -= containerHeight.constant
}
override func viewDidAppear(_ animated: Bool) {
super.viewDidAppear(animated)
arrangeViews(isStart: true)
}
И нужно убрать галочку с Animates