2017-04-26 12 views
0

UILabelNSParagraphStyleを取得する方法はありますか?新しいインスタンスと各属性を設定するのではなく、UILabelのNSParagraphStyleを取得

あなたの UILabelオブジェクトの attributedText性質上 NSParagraphStyleを取得するために enumerateAttribute:inRange:options:usingBlock:を使用することができます
+0

'attributedText'がある場合は、最初に見つかったものを列挙して取得できます。 – Larme

+0

何を列挙しますか? –

+1

は、attributedTextの 'NSParagraphAttributeName'を列挙します。 – Larme

答えて

1

NSAttributedString *attributedString = myLabel.attributedText; 

[attributedString enumerateAttribute:NSParagraphStyleAttributeName 
          inRange:NSMakeRange(0, attributedString.length) 
          options:0 
          usingBlock:^(id value, NSRange range, BOOL *stop) { 

         NSParagraphStyle *paragraphStyle = value; // Do what you want with paragraph 
}]; 

コードは(いくつかの小さなミスが原因コンパイルされない場合があります)テストされていないが、それはあなたを与える必要がありますそれの背後にあるアイデア。

+0

何らかの理由で、 'value'は常に' nil'です。また、私は当初、 'attributedText'を持たない' UILabel'から検索したいと思っていました。 –

+0

理由がなくコードを編集したのはなぜですか?特に問題を起こさない変更(ドットシンタックスと「角括弧1」)では、メソッドの引数として 'NSParagraphStyle'を入れることはできません。クラスではなく' NSParagraphStyleAttributeName'である必要があるNSStringです名。 – Larme

+0

'length'はメソッドではなくプロパティであるため、このように読みやすくなります。他の編集は、コードがコンパイルされず、 'NSParagraphStyle'が間違いであったためです。 –

関連する問題