Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/116.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 带有numberOfLines和lineBreakMode的UILabel_Ios_Objective C_Swift_Cocoa Touch_Uilabel - Fatal编程技术网

Ios 带有numberOfLines和lineBreakMode的UILabel

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和iOS7的项目。我的问题是它在不同的系统上工作不同。我试图创建行数等于2的UILabel,但当我将其换行模式设置为NSLineBreakByTruncingTail时,它的工作方式不同

说明(numberOfLines=2,text=@“long teeexxxttt”):


如何修复它?

问题是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;