2015-05-08 4 views
1

Сегодня я снова столкнулся с другой проблемой. Я хочу перейти с моей раскадровки в файл xib, когда viewDidLoad. Он прошел, но у меня черный экран.Как перейти от раскадровки к xib-файлу в swift?

Мой файл XIB: TutorialScreen.xib

класса, которые контролируют файл XIb: TutorialScreenViewController.swift

Мой код в TutorialScreenViewController.swift:

class TutorialScreenViewController : UIViewController { 

@IBOutlet var mainView: UIView! 


required init(coder aDecoder: NSCoder) { 
    super.init(coder: aDecoder) 
} 

override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?) { 
    mainView = UIView() 
    super.init(nibName: nil, bundle: nil) 
} 

convenience init() { 
    self.init(nibName: nil, bundle: nil) 
} 


} 

код в другом классе Когда viewDidLoad:

let tutorialScreen = TutorialScreenViewController(nibName: "TutorialScreen", bundle: nil) as TutorialScreenViewController 

     self.navigationController?.presentViewController(tutorialScreen, animated: false, completion: nil) 

Вот что я получил:

I got this black screen

Мой TutorialScreen.xib:

enter image description here

ответ

1

я узнал что-то неправильно, что я сделал. И вот что я редактировать:

override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?) { 
mainView = UIView() 
super.init(nibName: nil, bundle: nil) 
} 

После редактирования:

override init(nibName nibNameOrNil: String?, bundle nibBundleOrNil: NSBundle?) { 
    mainView = UIView() 
    super.init(nibName: nibNameOrNil , bundle: nibBundleOrNil) 
} 

Вот это !!!!!!

Смежные вопросы