2017-04-26 3 views
0

모든 인스턴스와 속성을 모든 속성으로 만드는 대신 UILabelNSParagraphStyle을 가져 오는 방법이 있습니까?UILabel의 NSParagraphStyle 가져 오기

+0

'attributedText'가있는 경우 발견 된 첫 번째 항목을 열거하고 검색 할 수 있습니다. – Larme

+0

무엇을 열거합니까? –

+1

은 attributedText의'NSParagraphAttributeName'을 열거합니다. – Larme

답변

1

당신은 당신의 UILabel 개체의 attributedText 특성에 NSParagraphStyle를 검색 할 enumerateAttribute:inRange:options:usingBlock:를 사용할 수 있습니다 (때문에 몇 가지 작은 실수로 컴파일하지 않을 수 있습니다)

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

이유없이 코드를 편집 한 이유가 무엇입니까? 특히 문제를 일으키지 않는 수정 (도트 구문 대 "대괄호 하나")을 사용하면 메소드의 인수로'NSParagraphStyle'을 넣을 수 없습니다. 클래스가 아닌'NSParagraphStyleAttributeName'이 있어야하는 NSString입니다 이름. – Larme

+0

'length'는 메소드가 아니라 속성이므로,이 방법으로 더 읽기 쉽습니다. 다른 편집은 코드가 컴파일되지 않았고 'NSParagraphStyle'이 실수 였기 때문에 수정되었습니다. –