不推荐使用 UILineBreakModeWordWrap

这是我的密码:

CGSize s = [string sizeWithFont:[UIFont systemFontOfSize:20]
constrainedToSize:CGSizeMake(self.view.bounds.size.width - 40, CGFLOAT_MAX) // - 40 For cell padding
lineBreakMode:UILineBreakModeWordWrap];

我得到一个警告,在 iOS6中 UILinebBreakModeWordWrap 是不推荐的。

54760 次浏览

你需要在 iOS6中使用 NSLineBreakByWordWrapping

对于您的代码,请尝试以下操作:

NSString *string = @"bla";


CGSize s = [string sizeWithFont:[UIFont systemFontOfSize:20]
constrainedToSize:CGSizeMake(self.view.bounds.size.width - 40, CGFLOAT_MAX) // - 40 For cell padding
lineBreakMode:NSLineBreakByWordWrapping];

标签上的例子是:

[label setLineBreakMode:NSLineBreakByWordWrapping];

而不是

label.lineBreakMode = UILineBreakModeWordWrap;

为了保持向下兼容,你可以创建如下宏:

#ifdef __IPHONE_6_0
# define LINE_BREAK_WORD_WRAP NSLineBreakByWordWrapping
#else
# define LINE_BREAK_WORD_WRAP UILineBreakModeWordWrap
#endif