ローテートの時に、うまく動きません。

必要な関数やローテート時に呼び出される関数などあれば、教えていただけないでしょうか?

下記コードでは、縦横切り替え時に、正しく判定されませんが、現在の判定コードです。

iPad用ソフトをiPadでの起動時のみ、正しく動作します。ローテート時は、縦横反対のサイズでキーボードが表示されてしまいます。取得と再描画のタイミングが逆のようです。

iPhoneソフト用のソフトをiPadで強制表示するような周りが黒くなる画面でも、正しく表示されません。

override func viewDidLoad() {
    super.viewDidLoad()

    bunPrint()
    btnTitle1()
    fFastBoot = false
    ...
}

override func viewWillTransitionToSize(size: CGSize, withTransitionCoordinator coordinator: UIViewControllerTransitionCoordinator) {
    super.viewDidLoad()
    bunPrint()
}

func bunPrint(){
    var myNativeBoundSize: CGSize = UIScreen.mainScreen().bounds.size
    let myNativeBoundSizeStrW: CGFloat = myNativeBoundSize.width
    let myNativeBoundSizeStrH: CGFloat = myNativeBoundSize.height

    var myWidth = myNativeBoundSize.width
    var myHeight = myNativeBoundSize.height
    print(myWidth)
    print(myHeight)

    // 向きの判定.
    if CGFloat(myNativeBoundSizeStrH) == CGFloat(1024.0) {
        myWidth = myNativeBoundSizeStrW / CGFloat(13)
        myHeight = myNativeBoundSizeStrH / CGFloat(20)
        print("iPad縦")
    } else if CGFloat(myNativeBoundSizeStrH) == CGFloat(768.0) {
        myWidth = myNativeBoundSizeStrW / CGFloat(13)
        myHeight = myNativeBoundSizeStrH / CGFloat(11)
        print("iPad横")
    } else {
        myWidth = myNativeBoundSizeStrW / CGFloat(10)
        myHeight = myNativeBoundSizeStrH / CGFloat(10)
        print("Nonエラー")
    }
    ...

    self.button11.frame = CGRectMake(0,3 + fPri, myWidth - CGFloat(2) ,myHeight - CGFloat(6))
    ...
}