2017-09-26 3 views
6

iOS 10까지 사용 중지 된 글꼴 및 활성화 된 uibarbutton 항목은 동일하게 유지되며 색상 만 다릅니다. 하지만 ios 11이 설치된 장치에 응용 프로그램을 설치 한 후에 비활성화 된 모드의 글꼴이 업데이트되어 (시스템 글꼴 표시), 활성화 된 모드에서는 설정된 글꼴이 올바르게 표시됩니다.비활성화 된 경우 UIBarbuttonItem 글꼴 업데이트 - iOS 11

그래서 iOS 11의 경우 앱에서 일관성을 유지하기 위해 비활성화 된 모드의 글꼴을 어떻게 설정할 수 있습니까?

답변

7

이것은 적어도 UIAppearance 프로토콜을 사용하는 제 경우에는 iOS 11에서 변경된 것으로 보입니다. 버그인지 고의인지 확실하지 않습니다.

컨트롤이 모두 상태를 만족하면 폰트 만 적용한다는 의미에서 함께 값을 마스크 할 수 없음을 발견했습니다 (예 : .normal|.disabled).

for controlState in [UIControlState.normal, UIControlState.disabled, UIControlState.focused, UIControlState.highlighted, UIControlState.selected] { 
    UIBarButtonItem.appearance().setTitleTextAttributes([NSFontAttributeName: customFontName, for: controlState); 
} 
다음 UIAppearance 프로토콜을 사방으로 업데이트 사용하기 위해

for controlState in [UIControlState.normal, UIControlState.disabled, UIControlState.focused, UIControlState.highlighted, UIControlState.selected] { 
    barButton.setTitleTextAttributes([NSFontAttributeName: customFontName], for: controlState) 
} 

:

그래서 나는이 일을 결국

관련 문제