1

我有一个两行 UILabel。我想要它的换行模式 NSLineBreakByTruncatingMiddle。我遇到的问题是,如果文本足够小以适合一行,它会显示在标签中间而不是顶部。我正在使用 iOS6 和自动布局,所以 sizeToFit 不适合我。我怎样才能做到这一点?如果文本很小以适合一行,我希望它应该垂直顶部对齐。我试过这个,但它截断并仅在一行而不是两行中显示文本。

4

1 回答 1

0

您需要计算所需的大小并更新标签的框架:

CGSize s = [myLabelString sizeWithFont:...
                     constrainedToSize:CGSizeMake(..., MAXFLOAT)
                         lineBreakMode:NSLineBreakByTruncatingMiddle];

使用您的标签使用的任何字体及其宽度。

于 2013-06-28T06:53:35.940 回答