Использование Xcode 7.3 Я добавил вторую раскадровку (к моему универсальному приложению) для iPad-макета. Все работает отлично, за исключением пользовательских сегментов. Для Main.storyboard пользовательский segue работает отлично, но если я запускаю Main ~ iPad.storyboard (iPad-устройство или iPad-симулятор), сбой происходит. Отчет об ошибке выглядит следующим образом:Custom segue crashing (второй) iPad раскадровки
2016-07-05 11:27:13.900 Quiz Maker[1354:42875] *** Assertion failure in -[UIStoryboardSegueTemplate segueWithDestinationViewController:], /BuildRoot/Library/Caches/com.apple.xbs/Sources/UIKit_Sim/UIKit-3512.60.7/UIStoryboardSegueTemplate.m:85
2016-07-05 11: 27: 13.926 Quiz Maker [1354: 42875] ***, истекающий приложение из-за неперехваченного исключением 'NSInternalInconsistencyException', причина: «Не удалось создать переход из класса '(нуль)'»
Heres мой пользовательский код Segue:
import UIKit
class CustomRightSegue: UIStoryboardSegue
{
override func perform()
{
let firstClassView = self.sourceViewController.view
let secondClassView = self.destinationViewController.view
let screenWidth = UIScreen.mainScreen().bounds.size.width
let screenHeight = UIScreen.mainScreen().bounds.size.height
secondClassView.frame = CGRectMake(screenWidth, 0, screenWidth, screenHeight)
if let window = UIApplication.sharedApplication().keyWindow {
window.insertSubview(secondClassView, aboveSubview: firstClassView)
UIView.animateWithDuration(0.4, animations: {() -> Void in
firstClassView.frame = CGRectOffset(firstClassView.frame, -screenWidth, 0)
secondClassView.frame = CGRectOffset(secondClassView.frame, -screenWidth, 0)
}) {(Finished) -> Void in
self.sourceViewController.navigationController?.pushViewController(self.destinationViewController, animated: false)
}
}
}
}
Очки для упоминания «модуля». (Почему бы не использовать значение по умолчанию?!?) –