
StoryBoardの話です。初期化の順序を意識しておかないと、子ビューコントローラのframeがおかしいまま親ビューコントローラの中に表示されたりします。アクティビティ図にまとめてみました。おかしいところがあればご指摘下さい。
ViewController.swift
//セグエ先のPreviewViewControllerのプロパティを取得する方法
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
if segue.identifier == "preview" {
let previewViewController = segue.destinationViewController as! PreviewViewController
//PreviewViewControllerのプロパティをprintする
print("MainViewController@prepareForSegue: ", previewViewController.view.frame)
}
}
なおprepareForSegue
が実行されるタイミングは早く、viewDidLoad
やviewDidAppeared
よりも先に実行されます。
したがって、このときの子ビューコントローラのframeなどは、まだ親ビューコントローラにaddSubView
される前の値のため、このframeを使ってビューを作ったりすると変なことになります。
2016/10/17
図はこうかな?
ブログやっています:http://weed.nagoya