カスタムキーボードで、画面の縦・横の時の再描画を正しくするには?
ローテートの時に、うまく動きません。
必要な関数やローテート時に呼び出される関数などあれば、教えていただけないでしょうか?
下記コードでは、縦横切り替え時に、正しく判定されませんが、現在の判定コードです。
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))
...
}