如何使用新行显示UILabelView显示文本?

时间:2011-11-14 16:59:49

标签: objective-c ios uikit

我在RoundedRectView中有一个UILabelView。 UILabelView应该显示一个动态生成的文本字符串,其中包含新行。

问题在于UILabel仍然将文本显示为“blahblahbla ...”,并且似乎不会在多行显示文本。唯一的例外是当我执行“sizeToFit”函数调用时,此时,文本不再出现在父视图的中心。我的UILabelView行数为0,并且还增加了父视图的框架(RoundedRectView)

我能做些什么来克服这个问题?

这是我的代码:

  CGRect frame = [self.messageView frame]; //get the frame size of parent view
    self.messageView.frame = CGRectMake(frame.origin.x, frame.origin.y, frame.size.width, (lineHeight * count)); //increase it to fit the text

         self.messageLabel.text = message;
        [self.messageView setNeedsDisplay];
   //     [self.messageLabel sizeToFit]; this fixes the multiple line issue but now label is not centered in parent view

2 个答案:

答案 0 :(得分:3)

numberOfLines设为0,将lineBreakMode设为UILineBreakModeWordWrap,将adjustsFontSizeToFitWidth设为否。检查您的文字是否包含'\ n'。

答案 1 :(得分:1)

[self.messageLabel setNumberOfLines:0];

来源:apple docs