2010-11-25

iPhoneアプリ開発: UINavigationBar のタイトル部分にタッチイベント追加

UINavigationBar のタイトル部分にタッチイベントを追加する方法です。
ナビゲーションバーのタイトル部分をタッチすると、右図のようにその箇所が白くハイライトし、イベントに紐づいたメソッドが呼び出されるようになります。

- (void)viewDidLoad {
    [super viewDidLoad];

    UIButton *navigationTitleButton = [UIButton buttonWithType:UIButtonTypeCustom];
    navigationTitleButton.frame = CGRectMake(0, 0, 150, 45);
    navigationTitleButton.showsTouchWhenHighlighted = YES;
    navigationTitleButton.titleLabel.font = [UIFont boldSystemFontOfSize:20];
    [navigationTitleButton addTarget:self 
                              action:@selector(titleTouched:) 
                    forControlEvents:UIControlEventTouchUpInside];
    navigationBar.topItem.titleView = navigationTitleButton;
}

- (IBAction)titleTouched:(id)sender {
    NSLog(@"titleTouched");
}

0 件のコメント: