UILineBreakModeWordWrapは非推奨です


83

これが私のコードです:

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

UILinebBreakModeWordWrapがiOS6で非推奨になるという警告が表示されます。

回答:


204

NSLineBreakByWordWrappingiOS6で使用する必要があります

あなたのコードのためにこれを試してください:

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
なぜAppleは名前を変えたのですか?目的は何ですか?
Paul Brewczynski 2014

14

下位互換性を維持するために、次のようにマクロを作成できます。

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

マクロが存在する場合でも、Xcodeが警告にフラグを立てるのはなぜですか?
ウィリアムGP

最小SDK <= ios 6はありますか?迅速またはObjective-Cを使用していますか?
Mihriban Minaz 2016

SDKは9.2、最小ターゲットはios7、Obj-C
William GP

次に、NSLineBreakByWordWrappingを直接使用します。
Mihriban Minaz 2016年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.