[ios] Swift로 UIButton의 글꼴을 변경하는 방법

Swift를 사용하여 UIButton의 글꼴을 변경하려고합니다 …

myButton.font = UIFont(name: "...", 10)

그러나 .font더 이상 사용되지 않으며 글꼴을 변경하는 방법을 잘 모르겠습니다.

어떤 제안?



답변

titleLabel대신 사용하십시오 . 이 font속성은 iOS 3.0에서 더 이상 사용되지 않습니다. Objective-C에서도 작동하지 않습니다. titleLabel에 제목을 표시하는 데 사용되는 레이블입니다 UIButton.

myButton.titleLabel?.font =  UIFont(name: YourfontName, size: 20)

그러나 제목 텍스트를 설정하는 동안을 사용해야합니다 setTitle:forControlState:. titleLabel제목 텍스트를 직접 설정하는 데 사용하지 마십시오 .


답변

대한 스위프트 3.0 :

button.titleLabel?.font = UIFont.boldSystemFont(ofSize: 16)

여기서 “boldSystemFont”및 “16”은 사용자 정의 글꼴 및 크기로 바꿀 수 있습니다.


답변

점 표기법이 훌륭합니다 (빠른 4.2) 👌

btn.titleLabel?.font = .systemFont(ofSize: 12)


답변

titleLabel을 강제로 풀어서 설정할 필요는 없습니다.

myButton.titleLabel?.font = UIFont(name: YourfontName, size: 20)

여기서 titleLabel을 사용하지 않기 때문에 선택적으로 사용할 수 있으며, 그렇지 않은 경우 no-op입니다.

또한 다른 사람들이 말한 것처럼 글꼴 속성이 더 이상 사용되지 않으며 setTitle:forControlState:제목 텍스트를 설정할 때 사용해야 합니다.


답변

로부터 문서 :

버튼에 텍스트를 표시하는 데 사용되는 글꼴입니다. ( iOS 3.0에서는 더 이상 사용 되지 않습니다 . 대신 font속성을 사용하십시오 titleLabel.)


답변

글꼴 크기 문제가있는 경우 (글꼴이 크기 변경에 응답하지 않음) …

@codester는 올바른 코드를 가지고 있습니다 :

myButton.titleLabel!.font =  UIFont(name: YourfontName, size: 20)

그러나 내 글꼴 크기는 변경되지 않았습니다. 존재하지 않는 글꼴 ( “HelveticaNeue-Regular”)을 요청하는 것으로 나타났습니다. 충돌을 일으키지 않았지만 그 때문에 글꼴 설명을 무시하는 것 같았습니다. 글꼴을 존재하는 것으로 변경하면 “size : x”로 변경되었습니다.


답변

아래와 같이 다른 유형의 시스템 글꼴을 사용할 수 있습니다

myButton.titleLabel?.font = UIFont.boldSystemFont(ofSize: 17)
myButton.titleLabel?.font = UIFont.italicSystemFont(ofSize:UIFont.smallSystemFontSize)
myButton.titleLabel?.font = UIFont.boldSystemFont(ofSize: UIFont.buttonFontSize)

아래와 같은 사용자 정의 글꼴

    myButton.titleLabel?.font = UIFont(name: "Helvetica", size:12)