모든 인스턴스와 속성을 모든 속성으로 만드는 대신 UILabel
의 NSParagraphStyle
을 가져 오는 방법이 있습니까?UILabel의 NSParagraphStyle 가져 오기
답변
당신은 당신의 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
}];
코드는 테스트되지
하지만, 그것은 당신에게 제공한다 그것의 뒤에 아이디어.
어떤 이유인지,'value'는 항상'nil'입니다. 또한 처음에는 'attributedText'가없는'UILabel'에서 검색하려고했습니다. –
이유없이 코드를 편집 한 이유가 무엇입니까? 특히 문제를 일으키지 않는 수정 (도트 구문 대 "대괄호 하나")을 사용하면 메소드의 인수로'NSParagraphStyle'을 넣을 수 없습니다. 클래스가 아닌'NSParagraphStyleAttributeName'이 있어야하는 NSString입니다 이름. – Larme
'length'는 메소드가 아니라 속성이므로,이 방법으로 더 읽기 쉽습니다. 다른 편집은 코드가 컴파일되지 않았고 'NSParagraphStyle'이 실수 였기 때문에 수정되었습니다. –
'attributedText'가있는 경우 발견 된 첫 번째 항목을 열거하고 검색 할 수 있습니다. – Larme
무엇을 열거합니까? –
은 attributedText의'NSParagraphAttributeName'을 열거합니다. – Larme