スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。
このエントリーをはてなブックマークに追加

[iOS]UIViewControllerからUIViewControllerへのSegue - 2

[iOS]UIViewControllerからUIViewControllerへのSegue を改変して、プログラム上からも遷移させるよう変更しました。
//VCToVCSegue.h
#import <UIKit/UIKit.h>

@interface VCToVCSegue : UIStoryboardSegue
+ (void)performWithSourceViewController:(UIViewController *)sourceViewController
DestinationViewController:(UIViewController *)destinationViewController;

@end

//VCToVCSegue.m
#import "VCToVCSegue.h"

@implementation VCToVCSegue
- (void)perform {
//sourceViewController:遷移前のコントローラ
//destinationViewController:遷移後のコントローラ
UIViewController *sourceViewController = (UIViewController *)self.sourceViewController;
UIViewController *destinationViewController = (UIViewController *)self.destinationViewController;

//UIWindowを取得
UIWindow *window = [UIApplication sharedApplication].keyWindow;
//これをつけないと一瞬レイアウトの切り替わり(iphone4->5)が見えてしまう
window.rootViewController = destinationViewController;
window.rootViewController = sourceViewController;
//遷移開始
[UIView transitionWithView:window
duration:0.5
options:UIViewAnimationOptionTransitionFlipFromLeft
animations:^{
/***************************************************
//iOS3.x系まで
[window addSubview:destinationViewController.view];
***************************************************/
//iOS4.x系から
window.rootViewController = destinationViewController;
}
completion:^(BOOL finished){
//アニメーション終了後の処理
}];
}

+ (void)performWithSourceViewController:(UIViewController *)sourceViewController
DestinationViewController:(UIViewController *)destinationViewController
{
//sourceViewController:遷移前のコントローラ
//destinationViewController:遷移後のコントローラ

//UIWindowを取得
UIWindow *window = [UIApplication sharedApplication].keyWindow;
//これをつけないと一瞬レイアウトの切り替わり(iphone4以降)が見えてしまう
window.rootViewController = destinationViewController;
window.rootViewController = sourceViewController;
//遷移開始
[UIView transitionWithView:window
duration:0.5
options:UIViewAnimationOptionTransitionFlipFromLeft
animations:^{
/***************************************************
//iOS3.x系まで
[window addSubview:destinationViewController.view];
***************************************************/
//iOS4.x系から
window.rootViewController = destinationViewController;
}
completion:^(BOOL finished){
//アニメーション終了後の処理
}];
}
@end
このエントリーをはてなブックマークに追加

tag : iOS UIVIewController segue 遷移

コメントの投稿

非公開コメント

Translation


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

チーズくん

Author:チーズくん
個人的メモをただ羅列しています。
twitter:@cheese1038

バロメーター
最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。