UINavigationBarに「完了」ボタンを表示する

普通に考えれば分かることだったんだけど、
何故か発想が出てこなかった。
同じことがあるかも知れないので、ちょっと書いて残しておく。


デフォルトで定義されているUIBarButtonItemを設定する場合は、

UIBarButtonItem* rightItem = 
    [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemDone
                                                  target:self
                                                  action:@selector(clickDone:)];
self.navigationItem.rightBarButtonItem = rightItem;

こんな感じで、「Done」のボタンを作成することが出来る。
しかし、この文字を「完了」などに変えたい場合はどうするかということ。

 UIBarButtonItem* rightItem = 
    [[UIBarButtonItem alloc] initWithTitle:@"完了" 
                                     style:UIBarButtonItemStyleDone 
                                    target:self 
                                    action:@selector(clickDone:)];
self.navigationItem.rightBarButtonItem = rightItem;

まぁ、単純にSystemItemを使わずにUIBarButtonItemを作ればよいということ。
前は覚えていたはずなのに、うっかり忘れていました。


ちなみに、UIButtonItemStyleは以下のようなものがあります。

UIBarButtonItemStylePlain       枠線なし
UIBarButtonItemStyleBordered    枠線あり
UIBarButtonItemStyleDone        青いボタン