Interface Builder(Xcode 4)を使用して幅の広いUIButtonを作成し、ダミーの5文字のタイトル(クリックなど)を追加して、後でプログラムでタイトルテキストを変更しました。
奇妙なことに、タイトルテキストの幅は同じままであるように見えるので、より長いテキストを使用すると(たとえば、「Now click here」)、「N ... e」のように表示されます。
何が起こっているのか分かりますか?
更新:IBで長いテキスト行を使用すると、中央に配置されます。ただし、このテキストをプログラムで変更すると、左揃えで表示されます。
UIButton
メソッドsetTitle:forState:
を使用する必要があります
[self.myButton setTitle:@"Correct New Title" forState:UIControlStateNormal];
これにより、ボタンラベルのサイズと位置が正しく更新されます。タイトルをself.myButton.titleLabel.text = @"Wrong New Title";
で設定するだけではできません。