[XCode]UISplitViewControllerからUIViewController SplitViewから1つのビューに遷移させる方法
2013/09/06
昨日に引き続き。
[XCode4.4]UIViewController→UISplitViewController 1つのビューからSplitViewに遷移させる方法
上の記事ではUIViewControllerからUISplitViewControllerへ遷移させる方法をご紹介しましたが、今回は逆です。
ログアウト処理なんかに役立つのではないかと思います。
カスタムSegueで解決
今回も上の記事と同様にカスタムSegueを作ってやります。
今回はSplitViewのDetailViewのナビゲーションバーからUIViewに戻る処理を実装例にしてみます。
DetailViewにはBarButtonItemを。そこからActionをCustomにしたSegueをUIViewControllerへ繋げば準備完了。
そして前回同様File→New→File→Objective-C classでUIStoryboardSegueをサブクラスにしてクラスを作成します。以下参照。
今回はViewFlipSegueという名前にしてみました。
そしてできたViewFlipSegue.mに以下のコードを入力。
ViewFlipSegue.m
#import "ViewFlipSegue.h" @implementation ViewFlipSegue - (void)perform { //sourceViewController:遷移前のコントローラ //destinationViewController:遷移後のコントローラ UIViewController *sourceViewController = (UIViewController *)self.sourceViewController; UIViewController *destinationViewController = (UIViewController *)self.destinationViewController; UIWindow *window = [UIApplication sharedApplication].keyWindow; // 一度貼rootに設定することで、回転方向の修正 window.rootViewController = destinationViewController; window.rootViewController = sourceViewController; [UIView transitionWithView:sourceViewController.view.window duration:0.5 options:UIViewAnimationOptionTransitionFlipFromLeft animations:^{ window.rootViewController = destinationViewController; } completion:^(BOOL finished){ //アニメーション終了後の処理 }]; } @end
これを実行すると上手くUIViewに画面遷移します。
こちらのコードは以下の記事からちょっと手を加えたものです。
チーズくんの備忘録 [iOS]UIViewControllerからUISplitViewControllerへ遷移するためののSegue
感謝。
UIViewに戻るときにアニメーションが作動しないという問題がありまして、ちょっと原因はわからないんですが、とりあえずはこれで上手くいきそう。
関連記事
-
[git]Coda2でgitを設定してWordPressのテーマファイルをバックアップする方法
ブログのテーマを作り直していろいろしています。家ではiMac、外ではMacBoo …
-
[XCode]UIViewControllerからUISplitViewController 1つのビューからSplitViewに遷移させる方法
先日、アプリを初めてAppleに申請しました。@hawk_aです。 iOS開発の …
-
デスマーチを止める!システム開発の成功に「設計」と「テスト」は欠かせない
「デスマーチ」という、IT業界で名の知れた用語があります。 商品知識のない営業が …
-
[XCode]StoryBoardで作ったTableViewCellでオリジナルのセルを表示する方法
TableView標準のセルではやりたいことが表現できなさそうな時には、Tabl …
-
[XCode]親子関係じゃないView間で値の受け渡しをする方法
@hawk_a 親子じゃないときは、Appdelegateに変数書いてそれを参照 …
-
[XCode]スキャナーで読み取れるバーコード(JANコード・Code39)をフォントで表示する方法と注意点
Passbookなどもそうですが、最近はクーポンや会員証などの電子化をよく目にし …
-
[XCode 4.3]Text Fieldの入力が終わったら次のText Fieldにソフトウェアキーボードでカーソルを移動させて最後にボタンを押す方法
XCodeをしこしこやっております。ほーく(@hawk_a)です。 プログラムの …
-
[XCode]追加してインポートしたヘッダーファイルが見つからないときの対処法3つ
XCodeでインポートの宣言をした際(import <hoge.h> …
-
[XCode]gitでcommitしたファイル(リモートリポジトリ)を巻き戻す方法
結構前からgitを実験的に導入してcommitやpushをしています。とうとう先 …
-
[XCode]NSNotificationってなに?って人もとりあえずこれだけは知っておくべき
異なるクラス間で通知や変数を渡したりできる便利なNSNotificationです …