Я разрабатываю приложение, где я использую пользовательские segues для перемещения между двумя UIViewController
.Почему кнопка, которая запускает разматывающий сегмент, мгновенно исчезает?
Сегу на второй UIViewController
анимирует просто отлично. Но когда срабатывает развязка segue, кнопка, которая запускает его, мгновенно исчезает, при этом медленно оживляя остальных, все прекрасно.
Кнопка устанавливаются с помощью раскадровки и я чтрла-тащусь от него к выходу из этого UIViewController
. Появился разворот, и я создал все необходимые файлы.
поручаю мой пользовательский класс в Segue Анвайнд и теперь переопределить perform()
-метода так:
override func perform() {
let settingsVCView = self.sourceViewController.view
let startVCView = self.destinationViewController.view
let screenHeight = UIScreen.mainScreen().bounds.size.height
let screenWidth = UIScreen.mainScreen().bounds.size.width
let window = UIApplication.sharedApplication().keyWindow
window?.insertSubview(startVCView, aboveSubview: settingsVCView)
UIView.animateWithDuration(0.8, delay: 0, options: .CurveEaseInOut, animations: {() -> Void in
settingsVCView.frame = CGRectMake(0, -(screenHeight), screenWidth, screenHeight)
startVCView.frame = CGRectMake(0, 0, screenWidth, screenHeight)
}) { (finished) -> Void in
self.sourceViewController.dismissViewControllerAnimated(false, completion: nil)
}
}
Все настройки и анимация делается, как вы можете увидеть в формате GIF. Некоторые скажут, что анимация работает правильно, но раннее исчезновение этой кнопки действительно меня беспокоит. Я пробовал:
- Регулировочные кнопки выделены состояния
- Установка кнопки не только в Compact/Regular
- Настройка кнопок типа от системы к Настраиваемый
- Пытался проследить точный момент, кнопка исчезает с помощью контрольных точек (не мог найти его, но обнаружили, что установка кадров в закрывающем-блоке не проблема)
- закомментировал
dismissViewControllerAnimated:
функцию
Я не нашел никакого решения.
Не может ли выделенный цвет фона иметь тот же зеленый цвет? Возможно, попробуйте изменить цвет заголовка на черный, чтобы вы могли легко видеть различия в цвете. Или это может быть автоматическая магия? Вы можете создать вторую кнопку с аналогичными ограничениями и посмотреть, исчезнет ли она, когда вы касаетесь первой кнопки. Держась за соломинку здесь! – Michael
@ Майкл благодарю вас за ваш вклад! Я пробовал все ваши предложения, и, к сожалению, сначала ничего не получилось, но вы были правы, это была автоматическая магия. Я собираюсь ответить на мой вопрос сейчас, ради видимости для других. – SebastianR