ボタンにタイトルを与えるだけでは実現できない細かい制御をしたいので、ボタン側のタイトルをブランクにして、ラベルをaddSubviewします。

例えば、文字数を超えた場合に三点リーダを出したい時とか、UILabelのNSLineBreakModeを適宜enumを指定します。

NSLineBreakMode 振る舞い
ByWordWrapping 単語の境界で折り返す。
ByCharWrapping 文字で折り返す。
ByClipping 折り返さず、端を超えた文字は表示されない。
ByTruncatingHead 文字列末尾が表示され、行の先頭に三点リーダ
ByTruncatingTail 文字列先頭が表示され、行の末尾に三点リーダ
ByTruncatingMiddle 文字列先頭と末尾が表示され、中央に三点リーダ

ソースコード

実行

2016-01-22 00.24.00

ByTruncatingHeadした例。先頭が三点リーダってどんな時つかうんだろう。