2014-12-07 3 views
-1

장치에 따라 UIButton의 글꼴 크기를 변경해야하는 작은 iOS 응용 프로그램에서 작업하고 있습니다. 자동 레이아웃을 사용하고 장치에 따라 UIButton 프레임을 변경할 수 있지만 글꼴 크기는 동일하게 유지됩니다. 내 응용 프로그램이 iPad 및 iPhone 및 가로 및 세로 모드에서 실행되기 때문에 장치의 상태를 확인하고 싶지 않습니다. 그리고 그것은 좋은 연습이 아닌 12 가지 조건을 점검하게합니다.런타임시 UIButton 글꼴 크기

기본적으로 내가 그것에 대해 검색 좀이

[_myButton.titleLabel setFont:[UIFont fontWithName:@"Helvetica" size:40.0f]] ; 

같은 것을 사용하여 글꼴을 설정하려면 그나마 그러나 나는 내 문제를 해결할 수있는 일을 찾을 수 없습니다.

도움을 주시면 감사하겠습니다.

미리 감사드립니다.

편집 됨 :

시도했지만 작동하지 않았습니다.

[[_myButton titleLabel] setAdjustsFontSizeToFitWidth:YES] ; 

편집 : 여기 enter image description here enter image description here

내 문제에 대한 첨부 된 스크린 샷입니다. 이것이 내 문제를 이해하는 데 도움이되기를 바랍니다.

+0

이유를 아래로 투표를? 연구 할 것이 없으면 내 문제를 해결하는 데 도움이 되십시오. –

답변

0

setAdjustsFontSizeToWidth은 장치 너비를 기준으로 글꼴을 조정하지 않고 컨트롤의 경계 (이 경우에는 단추의 레이블)를 조정합니다. 글꼴 크기를 각 장치마다 변경하려면 스토리 보드 또는 .xib 파일에서 단추의 선행 및 후행 공백 제한을 설정하고 시도한 코드를 사용하십시오.

Example of how to add a constraint

는 버튼을 누른 다음, 텍스트에 맞게 선택하고 오른쪽 하단에 오른쪽에서 세 번째 버튼을 클릭 할만큼 충분히 큰 있는지 확인합니다. 값이 자동으로 채워지는 두 개의 수평선을 클릭하고 "Add 2 Constraints"를 클릭하십시오. 잘하면이 도움이됩니다.

+1

George, 불행히도 이것 또한 저에게 효과가 없었습니다. 그게 내 문제를 이해하는 데 도움이된다면 스크린 샷으로 내 질문을 편집했습니다. –

0

단계는 다음과 같습니다. -

1) 버튼의 하위 클래스를 만듭니다.

2) 방법 아래의 구현 : -

-(CGSize)intrinsicContentSize { 
    return CGSizeMake(self.frame.size.width, self.titleLabel.frame.size.height); 
} 
+0

답장을 보내 주셔서 감사합니다. 그러나 나에게 도움이되지 못했습니다. 이것을 사용하면 self.titleLabel.frame.size.height는 높이를 '0'으로 반환합니다. –

+0

이 경우 높이 제한을 설정하면 안됩니다. –

+0

나는 당신이 제안한 것과 똑같은 것을 시도했다. –