[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に戻るときにアニメーションが作動しないという問題がありまして、ちょっと原因はわからないんですが、とりあえずはこれで上手くいきそう。
関連記事
-
-
[XCode]StoryBoardで作ったTableViewCellでオリジナルのセルを表示する方法
TableView標準のセルではやりたいことが表現できなさそうな時には、Tabl …
-
-
[XCode]UIViewControllerからUISplitViewController 1つのビューからSplitViewに遷移させる方法
先日、アプリを初めてAppleに申請しました。@hawk_aです。 iOS開発の …
-
-
[XCode]追加してインポートしたヘッダーファイルが見つからないときの対処法3つ
XCodeでインポートの宣言をした際(import <hoge.h> …
-
-
[XCode]gitでcommitしたファイル(リモートリポジトリ)を巻き戻す方法
結構前からgitを実験的に導入してcommitやpushをしています。とうとう先 …
-
-
開発したiOSアプリに不具合を見つけた時に緊急で審査期間を早くしてもらう方法
先日とうとう恐れていたことが起こりました。黒い怪物が部屋に出たとかそういうことで …
-
-
プログラミングができるだけではプロジェクトは成功しない
プログラマーなのに最近は電話対応で1日が終わる僕です。いろんな所でうめき声ととも …
-
-
[XCode]スキャナーで読み取れるバーコード(JANコード・Code39)をフォントで表示する方法と注意点
Passbookなどもそうですが、最近はクーポンや会員証などの電子化をよく目にし …
-
-
[XCode]ARC使用中にエラー「EXC_BAD_ACCESS」「respondsToSelector」が出た場合の対処法
なんでも、このエラーは解放済み(ゾンビ)のインスタンスにアクセスした時に出るエラ …
-
-
[XCode]Title set but using a system Identifierなる警告が出たときの対処法
最近iPhoneアプリ開発を始めた@hawk_aです。 StoryBoardを使 …
-
-
[XCode]NSNotificationってなに?って人もとりあえずこれだけは知っておくべき
異なるクラス間で通知や変数を渡したりできる便利なNSNotificationです …