2015-01-26 2 views
7

레이블 글꼴을 변경하려고합니다. 하지만 시스템 글꼴과 다른 속성 관리자에서 설정 한 모든 글꼴은 시뮬레이터 나 스토리 보드가 아닌 아무 것도 변경하지 않습니다. 심지어 글꼴을 프로그래밍 방식으로 Attributed 문자열로 설정하려고했습니다. 동일한 시스템 글꼴이 나타납니다. 당신의 도움을 주셔서 감사합니다.WatchKit WKInterfaceLabel에서 글꼴을 변경할 수 없습니다.

+0

최근 베타 버전 (Xcode 6.2 베타 4)을 사용하고 있습니까? 'WKInterfaceLabel -setHidden :'은 마지막 업데이트 이후에 깨진 것 같습니다. 실험용 앱에서는 글꼴을 변경하지 않지만 'WKInterfaceLabel'에는 더 많은 내용이 포함되어있을 수 있습니다. – miho

+0

네, 마지막 Xcode 6.2 베타 4입니다. 해결책을 원하거나 다음 베타 5까지 기다려야합니다. –

+0

[대답 1]을 클릭하십시오. [1] : http://stackoverflow.com/questions/28360525/not-able-to-set-custom-fonts-in-watchkit/28360752#28360752 –

답변

13

현재 WatchKit에는 포함 된 iOS 글꼴을 사용할 수 없습니다. 사용할 수있는 유일한 시스템 (샌프란 시스코)입니다. 프로젝트 네비게이터에 글꼴 파일이

font in project navigator

  • 사용자 정의 글꼴을 포함

    1. 드래그 : Source: Apple Developer Forums

      당신은 그러나 프로젝트에 글꼴 파일을 추가하여 사용자 정의 글꼴을 사용할 수 있습니다 WatchKit 앱과 WatchKit 확장 번들 모두에있는 파일입니다.

      add both targets

    2. 응용 프로그램 (UIAppFonts)에 의해 제공되는 글꼴 모두 당신의 WatchKit 응용 프로그램하고 WatchKit 확장에의 Info.plist 파일

      font key in plist

    3. 추가
    4. 은 당신이 올바른 글꼴 이름은 나중에 코드에서 호출 알 수 있도록 awakeWithContext이 코드를 추가

      print("Custom font names:") 
      print(UIFont.fontNames(forFamilyName: "Exo")) 
      print(UIFont.fontNames(forFamilyName: "Tabardo")) 
      
    5. 앱을 실행하고 디버그 콘솔에 인쇄 된 글꼴 이름을 기록해 둡니다. 올바른 이름을 알고 나면, 당신은 당신의 WatchKit 확장 어딘가에서이 코드를 추가 할 수 있습니다

      var fontSize = CGFloat(32) 
      var text = "so cool" 
      var cstmFont = UIFont(name: "Tabardo", size: fontSize)! 
      var attrStr = NSAttributedString(string: text, attributes: 
          [NSFontAttributeName: cstmFont]) 
      firstLabel.setAttributedText(attrStr) 
      
      fontSize = CGFloat(36) 
      text = "right on!" 
      cstmFont = UIFont(name: "Exo-Regular", size: fontSize)! 
      attrStr = NSAttributedString(string: text, attributes: 
          [NSFontAttributeName: cstmFont]) 
      secondLabel.setAttributedText(attrStr) 
      
    6. 는 시계 사용자 정의 글꼴을 즐기십시오!

      watch interface with custom fonts

    눈짓 및 알림 사용자 지정 글꼴을 사용할 수 없습니다 명심

    . 거기에 하나를 사용하려면 렌더링 된 이미지를 사용해야합니다. 그러나 눈짓 및 알림이 빨리로드되어야하므로 이미지를 불러올 준비가되어 있어야합니다.

  • +0

    이 작업을 수행했지만 여전히 작동하지 않습니다 ... – Underdog

    +0

    @Underdog 사진으로 답하십시오. 어떻게 진행되는지 알려주세요! –

    관련 문제