UILabel의 글꼴 크기와 글꼴 이름을 어떻게 얻을 수 있습니까?


105

Interface Builder로 글꼴 크기와 글꼴 이름을 설정 한 UILabel이 있습니다. 이제 ViewController에서 두 값을 모두 읽어야합니다.

어떻게 할 수 있습니까?


이 메서드는 iOS7에서 더 이상 사용되지 않습니다.이 기사를 살펴보십시오. stackoverflow.com/questions/19128797/…
— Maria

답변:


254

뷰 컨트롤러의 .h 파일에 속성을 추가합니다.

@property (nonatomic, retain) IBOutlet UILabel *label;

Interface Builder의 "File 's Owner"아울렛에서이 IBOutlet에 레이블을 연결합니다. ARC를 사용하지 않는 경우 -dealloc에서 해제해야합니다.

- (void)dealloc
{
    [self.label release];
    [super dealloc];
}

그런 다음 글꼴 이름과 크기를 얻으려면

NSString *fontName = self.label.font.fontName;
CGFloat fontSize = self.label.font.pointSize;

3
작동하지 않습니다. 텍스트를 쓸 수 있지만 fontName 및 pointSize는 null입니다.
— Tim

레이블의 텍스트를 프로그래밍 방식으로 변경할 수 있지만 fontName 및 pointSize에 액세스 할 수 없다는 의미입니까? 레이블에 대한 인스턴스 변수를 만드는 것을 언급하지 않았기 때문에 레이블 대신 self.label을 포함하도록 위의 답변을 편집했습니다.
— Ned

또한 인터페이스 빌더의 레이블을 File 's Owner (뷰 컨트롤러)에서 만든 IBOutlet과 연결했는지 확인하십시오.
— Ned

2
아, IB에서 파일 소유자와의 연결을 잊었습니다.
— Tim

29

빠른:

var currentFontSize = button.titleLabel?.font.pointSize

15

Pointsize 값은 UIFont 크기 속성에 사용 된 글꼴 크기가 아닙니다. 인터페이스 빌더 글꼴 크기를 14로 설정하고 pointSize를 인쇄하면 11 개만 표시됩니다.


지금 일하는 것 같습니다. 인터페이스 빌더 / 스토리 보드 편집기에서 라벨의 글꼴 크기를 17로 설정하면 ... 17을 myLabel.font.pointSize반환합니다.
— Derek Soike

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.