엑스 코드 6 새로운 기능 보유 폰트 및 폰트 사이즈 의은 UILabel
, UITextField
및 UIButton
오른쪽 스토리 보드에 현재 장치 구성의 크기 클래스에 따라 자동으로 설정 될 수있다. 예를 들어, UILabel
"모든 너비, 높이 축소"(예 : 가로 방향의 iPhone) 구성에서 글꼴 크기 12를 사용하고 "일반 너비, 일반 높이"구성 (예 : iPad ) 에서 크기 18을 사용하도록 a를 설정할 수 있습니다 . 자세한 정보는 여기에서 확인할 수 있습니다.
developer.apple.com/size_class
이것은 장치 구성에 따라 UI 기능에 다른 글꼴을 프로그래밍 방식으로 설정할 필요가 없기 때문에 이론상 훌륭한 기능입니다. 지금은 장치 유형에 따라 글꼴을 설정하는 조건부 코드가 있지만 분명히 앱 전체에서 글꼴을 프로그래밍 방식으로 설정해야합니다. 그래서 처음에는이 기능에 대해 정말 흥분했지만 실제로 사용하는 데 심각한 문제가 있다는 것을 알게되었습니다 (아마도 버그 일 것입니다). SDK 8 에 대해 빌드 하고 iOS 8 의 최소 배포 대상을 설정 하므로 이전 버전의 iOS와의 호환성과는 아무 관련이 없습니다.
문제는 이것입니다. 다른 크기 클래스에 대해 다른 글꼴 크기를 설정 하고 iOS 에서 제공 하는 "System"글꼴을 사용하면 모든 것이 예상대로 작동하고 크기 클래스에 따라 글꼴 크기가 변경됩니다. 내 응용 프로그램에서 제공하는 사용자 지정 글꼴을 사용하고 (예, 프로그래밍 방식으로 작동하므로 응용 프로그램 번들에 올바르게 설정되어 있음) 사용자 지정 글꼴을 XCode 6 스토리 보드 의 레이블 로 설정하면 예상대로 작동합니다. 하지만 스토리 보드에서 다양한 크기의 클래스에 대해 다른 크기의 사용자 지정 글꼴을 사용하려고하면 갑자기 작동하지 않습니다. 구성의 유일한 차이점은 내가 선택한 글꼴 (사용자 정의 글꼴 대 시스템 글꼴)입니다. 대신 모든 글꼴이장치 및 시뮬레이터 를 크기 클래스에 관계없이 기본 크기 의 기본 시스템 글꼴 로 사용했습니다 (그리고 디버거를 통해 스토리 보드에 지정된 실제 글꼴을 시스템 글꼴로 대체하고 있음을 확인했습니다). 따라서 기본적으로 크기 클래스 기능은 사용자 정의 글꼴에 대해 깨진 것처럼 보입니다. 또한 흥미롭게도 사용자 지정 글꼴은 실제로보기 컨트롤러의 XCode 6 "미리보기"창에서 제대로 표시되고 크기를 조정합니다. 실제 iOS 시스템에서 실행할 때만 작동이 중지됩니다 (올바르게 구성하고 있다고 생각합니다). .
여러 개의 다른 사용자 정의 글꼴을 시도했지만 어떤 글꼴에서도 작동하지 않는 것 같지만 대신 "시스템"을 사용하면 항상 작동합니다.
어쨌든, 다른 사람이 Xcode 6 에서이 문제를 본 적이 있습니까?
이것이 iOS 8, Xcode 또는 무언가의 버그인지에 대한 아이디어
내가 잘못하고 있니?
내가 찾은 유일한 해결 방법은 내가 말했듯이 약 세 가지 버전의 iOS에서와 같이 프로그래밍 방식으로 글꼴을 계속 설정하는 것입니다.
하지만이 기능을 사용자 정의 글꼴과 함께 사용할 수 있다면이 기능을 사용할 수 있기를 바랍니다. 시스템 글꼴을 사용하는 것은 우리의 디자인에 허용되지 않습니다.
추가 정보 : Xcode 8.0부터 버그가 수정되었습니다.