2014-12-24 3 views
-1

Я пытаюсь сделать свое первое приложение для ipad/iphone с Xcode. Я создал UILabel и IBAction в ViewController.h:lineBreakMode UILabel не работает при подключении в раскадровке

@interface ViewController : UIViewController{ 
    IBOutlet UILabel *display; 
} 

- (IBAction)ChangeText; 

Я связал переменный «дисплей» с этикеткой я создал в Main.storyboard и методом «ChangeText» к кнопке.

Этикетка и кнопка размещаются с использованием автоматической компоновки.

Этикетка изначально содержит текст «-» и когда я нажимаю на кнопку, метод «ChangeText» изменить текст метки к уже один:

- (IBAction)ChangeText{ 

    [display setText:@"A long text which exceeds the size of the screen I am using. A long text which exceeds the size of the screen I am using.A long text which exceeds the size of the screen I am using."]; 
} 

Поскольку текст долго для экрана я хотел бы отобразить его на нескольких строках. Так что я изменил lineBreakMode и numberOfLines из «дисплея»:

- (IBAction)ChangeText{ 

    display.lineBreakMode = NSLineBreakByWordWrapping; 
    display.numberOfLines = 0; 

    [display setText:@"A long text which exceeds the size of the screen I am using. A long text which exceeds the size of the screen I am using.A long text which exceeds the size of the screen I am using."]; 
} 

К сожалению, результат один и тот же текст отображается только одна линия.

У вас есть идеи, почему и как я могу это преодолеть?

Заранее спасибо.

+0

Уверенный, что у вашего UILabel достаточно места (высота установлена ​​соответственно?) – dehlen

+0

установить UILabel Текст в стиле «Attributed Text» в раскадровке, а затем запустить –

+0

@ Zach: проверить рамку метки. –

ответ

0

dehlen был прав, на этикетке не хватало места.

Я не стал теперь, чтобы я мог/мог увеличить размер метки вручную в раскадровке. Мне также пришлось добавить ограничение «Вертикальное расстояние», чтобы автомат был счастлив.

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