Ios 带有numberOfLines和lineBreakMode的UILabel
我正在从事一个必须同时支持iOS6和iOS7的项目。我的问题是它在不同的系统上工作不同。我试图创建行数等于2的UILabel,但当我将其换行模式设置为NSLineBreakByTruncingTail时,它的工作方式不同 说明(numberOfLines=2,text=@“long teeexxxttt”):Ios 带有numberOfLines和lineBreakMode的UILabel,ios,objective-c,swift,cocoa-touch,uilabel,Ios,Objective C,Swift,Cocoa Touch,Uilabel,我正在从事一个必须同时支持iOS6和iOS7的项目。我的问题是它在不同的系统上工作不同。我试图创建行数等于2的UILabel,但当我将其换行模式设置为NSLineBreakByTruncingTail时,它的工作方式不同 说明(numberOfLines=2,text=@“long teeexxxttt”): 如何修复它?问题是iOS6和Previor不会使用自定义UIFont和NSLineBreakByTruncingTail更新多行UILabel,但您可以使用自动调整大小或自动布局来存档相同
如何修复它?问题是iOS6和Previor不会使用自定义UIFont和NSLineBreakByTruncingTail更新多行UILabel,但您可以使用自动调整大小或自动布局来存档相同的结果。Swift 2.1
yourLabel.text = "your text"
yourLabel.numberOfLines = 0
yourLabel.lineBreakMode = NSLineBreakMode.ByWordWrapping
yourLabel.sizeToFit()
我知道这是个老问题,但我最近也遇到了同样的问题。我发现在约束条件下,我必须设置首选宽度以使省略号正常工作:
yourLabel.preferredMaxLayoutWidth = width;
u可以使用NSLineBreakByWordWrapping模式,如果需要IOS7中两行的内容,请确保您的标签框未被更改,并进行检查。您可以打印两个版本的标签框吗?\@Virussmca正在更改(但两个iOS的标签框相同),这是问题所在吗?我在更改框架后设置了这些属性。@CoolMonster,同时我需要在最后添加“…”。@Timubernikowich:设置属性后,您能打印两个版本的标签框架吗?太棒了!你救了我一天。。。我的uilabel的最后一行总是擅离职守。。。这个解决方案帮助解决了这个问题
yourLabel.preferredMaxLayoutWidth = width;