FC2ブログ

--
--/--

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

2012
02/28


俗に言う ModalViewタイトルバーを設置する際に方法に困ったのでメモ。

UIViewController の presentModalViewController: メソッドを使用した際に、遷移先の画面にタイトルが表示されなかったので、タイトルバーの設置方法を書きます。
「僕自身が困っているのであれば、きっと誰かも困ってるはず!」という大義名分のもと、未来の自分の為にソースを全て記載。

ViewController.h

#import <UIKit/UIKit.h>
#import "ModalViewController.h"

@interface ViewController : UIViewController {

}

@end


ViewController.m

#import "ViewController.h"

@implementation ViewController

#pragma mark 初期処理
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {

self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// "SHOW MODAL VIEW"ボタンのアクションを登録
UIButton *button = (UIButton *)[self.view viewWithTag:1001];
[button addTarget:self action:@selector(tapButton:) forControlEvents:UIControlEventTouchUpInside];
}

return self;
}

#pragma mark SHOW MODAL VIEW ボタン押下時処理
- (void)tapButton:(UIButton *)sender {

// 表示するModalViewのコントローラを生成
ModalViewController *modalViewController = [[[ModalViewController alloc] initWithNibName:@"ModalView" bundle:nil] autorelease];
// ModalViewのナビゲーションコントローラを生成
UINavigationController *naviController = [[[UINavigationController alloc] initWithRootViewController:modalViewController] autorelease];
// ModalViewの表示
[self presentModalViewController:naviController animated:YES];
}

@end


ModalViewController.h

#import <UIKit/UIKit.h>

@interface ModalViewController : UIViewController {

}

@end


ModalViewController.m

#import "ModalViewController.h"

@implementation ModalViewController

#pragma mark 初期処理
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil {

self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self) {
// タイトルの設定
[self setTitle:@"MODAL"];

// "CLOSE MODAL VIEW" ボタンのアクション登録
UIButton *button = (UIButton *)[self.view viewWithTag:2001];
[button addTarget:self action:@selector(tapCloseButton:) forControlEvents:UIControlEventTouchUpInside];
}
return self;
}

#pragma mark CLOSE MODAL VIEW ボタン押下時処理
- (void)tapCloseButton:(UIButton *)sender {

// ModalViewを閉じる
[self dismissModalViewControllerAnimated:YES];
}

@end


InterfaceBuilder にて BaseView のボタンと ModalView のボタンにそれぞれ 1001, 1002 のタグを割り当ててます。

ViewController の画面がこれ。
BaseView.png


ModalViewController の画面がこれ。
ModalView.png


書いていて疑問に思ったんですが、dismissModalViewControllerAnimated: メソッドは ModalViewController 側の処理でいいんですかね?

また調べなきゃいけないことが増えてしまった。
とりあえず、今日はここまで。


プロフィール

Taku Sasahara

Author:Taku Sasahara
Hello world!!

バジルの息子。
法学部法律学科卒。
バリバリの文系プログラマです。
ペーペーです。

Facebook

My faborite books
僕のお気に入り書籍の本棚

最新トラックバック

スポンサーリンク

検索フォーム

ブロとも申請フォーム

QRコード
QR

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