将多行添加到由UITextField更新的UILabel

时间:2015-08-09 03:23:48

标签: ios objective-c uitextfield uilabel

所以我创建了一个应用程序,用户将数据从UITextField转换为UILabel。但是,当更新大量文本而不是溢出到另一行时,它只会显示' ...'当有太多的话。我尝试过更改UILabel中的行数,甚至将其更改为' 0'这应该意味着显示的文本应该适合UITextField中的单词,但事实并非如此。我对UILabel的UITextField的以下代码是:

- (IBAction)add:(id)sender {
NSString *input = text1.text;
label1.text = input;
NSString *Input = text2.text;
label2.text = Input;

我是开发新手并且我已经检查过文档但没有找到任何内容。我确实注意到有人说我应该使用UITextField,但这并不适合我需要UILabel显示的需求。

2 个答案:

答案 0 :(得分:0)

也许尝试将 UILabel lineBreakMode 属性设置为 NSLineBreakByWordWrapping ,作为此属性的默认值实际上是 NSLineBreakByTruncatingTail ,它可以解释当标签文本太多时您遇到的'...'。还要确保 adjustsFontSizeToFitWidth 属性设置为

textLabel.adjustsFontSizeToFitWidth = NO; // this is default value
textLabel.lineBreakMode = NSLineBreakByWordWrapping;
textLabel.numberOfLines = 0;

答案 1 :(得分:0)

您可能没见过的UITextView选项

 UITextView * _descriptionText = [UITextView new];

[_descriptionText setTextAlignment:NSTextAlignmentLeft];
[[_descriptionText textContainer] setMaximumNumberOfLines:11];
[[_descriptionText textContainer] setLineBreakMode:NSLineBreakByTruncatingTail];

不确定这是否有帮助,但将此与Bamsworlds的答案相结合应该这样做