0

ではTTTAttributedLabel\r\n行末は 2 つとしてカウントされますが、行末は 1 つのみである必要があります。UILabel はこのケースを正しく処理します。

例: これは文字列@"Line 1\r\nLine 2"です。上がTTTAttributedLabel、下がUILabel

TTTAttributedLabel と UILabel の比較

Xcode プロジェクト ファイル: http://tinywhale.net/TestProject.zip

この場合、 TTTAttributedLabel を UILabel のように動作させる方法はありますか?

4

1 に答える 1

1

何が問題なのかを正確に知っていると思います。私もあなたと一緒です、私は同じ理由で苦しみました。ほぼ2週間、私は問題を解決しようとしました。グーグルでAppleのドキュメントを調べ、stackoverflowを調べたところ、どこを見ても明確な答えを得ることができませんでした。UILabelプロパティでは、「text(NSString)」は\ r \ nであり、2つの連続した\nのみが適用されます。ただし、CustomLabelプロパティ "attributedText(NSAttributedString)"は\ r \ n両方が連続して適用される場合。したがって、私のソリューション\ r\nと2つの連続する\rの出現はnull文字列に置き換えられました。

NSString *string = [myString stringByReplacingOccurrencesOfString:@"\r" withString:@""];
NSAttributedString *attributedString = [NSAttributedString attributedStringWithString:string];

実際、@ "Line 1 \ r \ n Line 2" NSLogを確認すると、興味深い事実があります。

NSLog(@"Line 1\r\nLine 2");

シミュレーターで

2012-08-05 23:18:59.170 SimpleTest[30721:707] Line 1
Line 2

デバイス内

2012-08-05 23:18:59.170 SimpleTest[30721:707] Line 1

Line 2

上記のように、シミュレータとデバイスの処理は異なります。このため、私は多大な努力をしました。armv7とは正確にはわかりませんが、これはi386処理の違いについてです。しかし、バグまたは一種のNSStringとNSAttributedStringも、これらの関係を考えていると思います。

あなたの問題を解決するための私の答えは、それがあなたに役立つことを本当に望んでいます。

于 2012-08-05T14:09:12.090 に答える