不推荐使用UILineBreakModeWordWrap

时间:2012-10-16 12:31:41

标签: uilabel deprecated

这是我的代码:

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

我收到一条警告,称iOS 6中不推荐使用UILinebBreakModeWordWrap。

2 个答案:

答案 0 :(得分:202)

您需要在iOS 6中使用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;

答案 1 :(得分:14)

为了保持向后兼容性,您可以创建一个宏,如下所示:

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