スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

回転

iOS開発において必要な回転設定をメモします。
多分コレで大体網羅出来ていると思いますが、抜けや不備があったらすみません。


Xcode5,iOS7
回転設定でチェックする必要のある項目など

・General(基本設定)
・info.plist
・「.m」の中身のコード


//自動回転
- (BOOL)shouldAutorotate
{
return YES;
}

//サポート方向
- (NSUInteger)supportedInterfaceOrientations
{
return UIInterfaceOrientationMaskAll;
}



回転通知コード

必要があれば設定します↓


//回転通知設定
- (void)settingRotate
{
// デバイスの回転を開始する(コレがいるのかよくわかってないです。。)
[[UIDevice currentDevice] beginGeneratingDeviceOrientationNotifications];
// デバイスが回転した際に、呼び出されるメソッドを設定
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(didRotate:)
name:UIDeviceOrientationDidChangeNotification
object:nil];
}

// デバイスが回転した際に、呼び出されるメソッド
- (void) didRotate:(NSNotification *)notification
{
UIDeviceOrientation o = [[notification object] orientation];

// 横
if ((o == UIDeviceOrientationLandscapeLeft)||
(o == UIDeviceOrientationLandscapeRight)) {

//縦
} else if ((o == UIDeviceOrientationPortrait)||
(o == UIDeviceOrientationPortraitUpsideDown)) {

}
}




デバイスの回転を検知する簡単なコード
が有りましたので追記します。

注意
*起動時で回転しない時は呼ばれません。
*[self.view superview].hidden = YES; の時も呼ばれませんでした。

ではどうぞ↓


//回転アニメーション前に呼ばれるメソッド
- (void)willAnimateRotationToInterfaceOrientation:(UIInterfaceOrientation)orientation
duration:(NSTimeInterval)duration {

if ((orientation == UIDeviceOrientationLandscapeLeft)||
(orientation == UIDeviceOrientationLandscapeRight)) {//横

} else if ((orientation == UIDeviceOrientationPortrait)||
(orientation == UIDeviceOrientationPortraitUpsideDown)) {//縦

}
}

スポンサーサイト

iPadの縦回転(レイアウト)バグ

Xcode5.1.1, Autolayout, StolyBord, という環境で
iPadアプリがどうやらレイアウトバグを起こしたので経過措置をメモします〜。


UIPageViewControllerを活用したiPadアプリで、
縦画面回転した後のレイアウトの調子が悪い。


「縦画面(1ページ表示)→横(2ページ表示)→縦(1ページ表示)」
にならなるべきなのに、たまに以下の様な動作になる。
「縦画面(1ページ表示)→横(2ページ表示)→縦(2ページ表示)」

今のところ、原因不明なので、横画面でも1ページ表示のままになるようにして対処した。
予定:「縦画面(1ページ表示)→横(1ページ表示)→縦(1ページ表示)」

RootViewController.m


//回転時のページ表示方法
- (UIPageViewControllerSpineLocation)pageViewController:(UIPageViewController *)pageViewController spineLocationForInterfaceOrientation:(UIInterfaceOrientation)orientation
{
return UIPageViewControllerSpineLocationMin;
}


このままバグが現れなければ良いけど...様子見...
XCodeやiOSのバグじゃなくて、自分で起こしたバグの可能性が大いにあるから大きな声じゃ言えない。


追記:
ちゃんと「縦画面(1ページ表示)→横(1ページ表示)→縦(1ページ表示)」になりました!
縦回転バグは現れなくなりました!

-

最新記事

PR

カテゴリ
有力リンク
最新コメント
最新トラックバック
プロフィール

kototoly

Author:kototoly
ひっそりとiPhoneアプリの開発をしています。

<開発記事について>
記事の不備について責任を負い兼ねますので、ご了承ください。

RSSリンクの表示
リンク
QRコード
QR

--Food Drink--
Oven Watt Calc
電子レンジ
時間の再計算

----Music----
Tsans Chrod
簡単入力
移調アプリ
---
Voice Checker
歌や滑舌
練習アプリ

---Lifestyle---
Calc of Time
表示切り替え
時間の電卓
---
Dream Life Planner
夢と目標
人生計画
---
Week Table
一週間・24時間
大人の時間割
---
Many iCounter
いっぱいたくさん
カウンター

--Reference--
Color Checker
ブログ色合い
シュミレート

----Game----
Study Puzzle
落ちものパズル
考察機

---Utilities---
HowSpeed
あなたのiPhone
処理時間は?


上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。