[uilabel] UILineBreakModeWordWrap은 더 이상 사용되지 않습니다.

내 코드는 다음과 같습니다.

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

UILinebBreakModeWordWrap이 iOS 6에서 더 이상 사용되지 않는다는 경고가 표시됩니다.



답변

NSLineBreakByWordWrappingiOS 6에서 사용해야합니다 .

코드를 보려면 다음을 시도하십시오.

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


답변