2012-02-24 3 views
0

Я использую Xcode 4.2 iOS 5.0, а также с помощью раскадровки. У меня есть простая кнопка, и я подключил эту кнопку с выходом. Теперь я меняю текст кнопки с кода. Проблема заключается в том, что если моя строка названия кнопки заключается в том, что «эй, как ты?» то он показывает в названии кнопки «эй .... у?» Может ли кто-нибудь предложить мне, где я ошибаюсь или что-то еще не хватает?Текст заголовка кнопки не отображается полностью

! [Введите описание изображения здесь] [1]
Это настройки IB.
Я только что написал btw.textLabel.text = textstr; и кадр равен (0,0,290,42), а текстовая строка равна времени, например, [NSDate date]

+0

Я не знаю, почему это? Может у меня предложить, как мне увеличить? – NSCry

+0

получил его сейчас на 100% :) – NSCry

+2

@ARC Но, похоже, вы приняли ответы, которые не были действительно ответами, так что это не поможет. – Abizern

ответ

2

Попробуйте [myButton sizeToFit]; // Мне нужно набрать еще 9 символов, чтобы ответить на этот вопрос из-за минимум 30 символов.

+0

Не работает в моем случае. Спасибо за предложение. У вас есть другие решения? – NSCry

+0

Не работает означает что? Кнопка не изменяет размер вообще, недостаточно? – dbrajkovic

+0

Заголовок идет в верхнюю левую часть кнопки, а раньше он был в середине кнопки, и «......» все еще там – NSCry

6

Ваша ширина кнопки меньше длины строки заголовка. Именно поэтому обрезает среднюю часть строки. Вы можете установить режим для обозначения символа в IB, чтобы сделать заголовок в двух строках, или вы можете изменить размер шрифта на меньший, чтобы поместиться в ширину вашей кнопки или , вы можете изменить ширину кнопки, чтобы занять всю строку. Предпочитаете , что подходит вам.

+0

Я пробовал все, но не смог исправить ситуацию. – NSCry

+2

Почему вы приняли ответ? – Abizern

+0

Ваш разрыв строки по-прежнему находится в опции Truncate Middle (в IB). Измените его на characterWrap. – Sree

0
myButton.textLabel.text = @"some very long title"; 
[myButton.textLabel sizeToFit]; 
0

Я не уверен, если это уже работал в XCode 4.2, но теперь она делает;)

Вы должны использовать метод UIButtonsetTitle:forState:

[self.myButton setTitle:@"Correct New Title" forState:UIControlStateNormal]; 

как это будет правильно обновить размер и положение метки кнопок. Где просто установить заголовок с self.myButton.titleLabel.text = @"Wrong New Title"; не будет.

Кредиты Джеймс Beith (см его ответ в UIButton - text truncated)

Смежные вопросы