Objective-C 横画面のタッチイベントについて
Posted: 2014年10月27日(月) 20:46
UIViewControllerを継承したクラスのimplementation部に以下の処理を記載し、横画面へ固定させております。
このままではメインクラスを生成する際に縦横が反転してしまっているため、Frame.size.widthとFrame.size.heightを反転した後で生成を行っております。
問題となるのはタップを認識する際に座標が縦横反転を認識せず、縦画面の状態で行われてしまっております。
そのため横半分から右はタップしても全く認識しないという状況です。(コールバック関数が呼び出されない)
原因としてタップ関連のオブジェクトが持っている座標軸を反転出来ていないためかなと推測しておりますが、その座標軸はどちらで設定出来ますでしょうか?
ただこれも勘違いの可能性があるため何とも言えません。
似た様な症状が調べた限りでは見当たらなかったため、何か単純な見落としをしているのかもしれません・・・。
現状drawRectによる画像の描画は正常に行われており、座標軸も横画面に即したものとなっております。
また画像サイズも横画面にしっかり対応してあり、空白などは出来ておりません。
タップコールバック関数については関数内でタップ座標を確認した所、縦画面の範囲内であれば正常な値が返ってきておりました。
宜しくお願い致しますm(_ _)m
// iOS6.0未満
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation
{
____// 横画面固定
return UIInterfaceOrientationIsLandscape(toInterfaceOrientation);
}
// iOS6.0以降
- (BOOL) shouldAutorotate
{
return YES;
}
- (NSUInteger) supportedInterfaceOrientations
{
____// 横画面固定
return UIInterfaceOrientationMaskLandscape;
}
問題となるのはタップを認識する際に座標が縦横反転を認識せず、縦画面の状態で行われてしまっております。
そのため横半分から右はタップしても全く認識しないという状況です。(コールバック関数が呼び出されない)
原因としてタップ関連のオブジェクトが持っている座標軸を反転出来ていないためかなと推測しておりますが、その座標軸はどちらで設定出来ますでしょうか?
ただこれも勘違いの可能性があるため何とも言えません。
似た様な症状が調べた限りでは見当たらなかったため、何か単純な見落としをしているのかもしれません・・・。
現状drawRectによる画像の描画は正常に行われており、座標軸も横画面に即したものとなっております。
また画像サイズも横画面にしっかり対応してあり、空白などは出来ておりません。
タップコールバック関数については関数内でタップ座標を確認した所、縦画面の範囲内であれば正常な値が返ってきておりました。
宜しくお願い致しますm(_ _)m