Разрыв строки в UILabel игнорируется при сборке - PullRequest
6 голосов
/ 05 декабря 2011

Я пытаюсь настроить UILabel с тремя строками, используя XCode 4.2 и Interface Builder, сборку для iOS 5. После размещения UILabel я установил количество строк в 3 (эта проблема также возникает с числом линии установлены в 0), и я использовал опцию-Return, чтобы правильно разбить строки в свойстве text. Все это правильно отображается в предварительном просмотре раскадровки в Интерфейсном Разработчике. Проблема в том, что когда я создаю и запускаю приложение в симуляторе, разрывы строк полностью игнорируются, а текст просто переносится в представление UILabel везде, где это необходимо, как если бы в тексте не было разрывов строк.

Очевидное быстрое решение - просто установить текст для UILabel в коде или создать три UILabel. Нет проблем там. Я просто недоволен тем, почему это происходит, когда лейбл создан исключительно в IB. Кто-нибудь сталкивался с такой же проблемой?

Ответы [ 2 ]

9 голосов
/ 14 марта 2012

Это, вероятно, следует открыть как ошибку, однако здесь есть обходной путь:

Вместо option-Return используйте control-Return AND, ударяя по нему дважды (оставляя пустую строку между строками текста враскадровка).Затем он будет правильно отображаться как в раскадровке, так и на устройстве.

2 голосов
/ 04 июля 2012

Используя это свойство метки,

label.lineBreakMode=UILineBreakModeCharacterWrap;
label.numberOfLines=0;

Мы можем добавить целый абзац к примеру с одной меткой, см. Снимок экрана.

enter image description here

...