2015-01-26 16 views
7

Tôi đang cố thay đổi phông chữ nhãn. Nhưng mọi phông chữ tôi đặt trong Thanh tra Thuộc tính khác với phông chữ hệ thống - không thay đổi bất kỳ thứ gì - không phải là trình mô phỏng hoặc bảng phân cảnh. Tôi thậm chí đã cố gắng đặt phông chữ theo chương trình với chuỗi được phân bổ - cùng một phông chữ Hệ thống xuất hiện. Cảm ơn bạn đã giúp đỡ.WatchKit WKInterfaceBạn không thể thay đổi phông chữ

+0

Bạn đang sử dụng phiên bản beta mới nhất (Xcode 6.2 beta 4)? 'WKInterfaceLabel -setHidden:' dường như bị hỏng kể từ lần cập nhật cuối cùng. Tôi không thay đổi phông chữ trong ứng dụng thử nghiệm của mình, nhưng có thể có nhiều nội dung bị hỏng trong 'WKInterfaceLabel'. – miho

+0

Có, tôi đang sử dụng phiên bản Xcode 6.2 beta cuối cùng 4. Tôi hy vọng có giải pháp hoặc tất cả những gì tôi có thể làm là chờ đến phiên bản beta tiếp theo 5. –

+0

Nhấp vào [đây để xem câu trả lời] [1] [1] : http://stackoverflow.com/questions/28360525/not-able-to-set-custom-fonts-in-watchkit/28360752#28360752 –

Trả lời

13

Bạn không thể sử dụng phông chữ iOS đi kèm trong WatchKit tại thời điểm này. Người duy nhất có sẵn là System (San Francisco). Source: Apple Developer Forums

Bạn tuy nhiên có thể sử dụng một phông chữ tùy chỉnh bằng cách thêm các file font cho dự án:

  1. Kéo file font vào navigator dự án

    font in project navigator

  2. Bao gồm các phông chữ tùy chỉnh trong cả ứng dụng WatchKit của bạn và gói WatchKit mở rộng.

    add both targets

  3. Thêm Fonts cung cấp bởi ứng dụng (UIAppFonts) chìa khóa để cả của bạn ứng dụng WatchKitWatchKit mở rộng của bạnInfo.plist file

    font key in plist

  4. Thêm mã này để awakeWithContext để chắc chắn rằng bạn biết tên font chữ đúng để gọi sau này trong mã của bạn:

    print("Custom font names:") 
    print(UIFont.fontNames(forFamilyName: "Exo")) 
    print(UIFont.fontNames(forFamilyName: "Tabardo")) 
    
  5. Chạy ứng dụng và lưu ý các tên phông chữ in để debug console. Khi bạn biết tên chính xác, bạn có thể thêm mã này ở đâu đó trong Tiện ích mở rộng WatchKit của mình:

    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. Tận hưởng phông chữ tùy chỉnh trên đồng hồ!

    watch interface with custom fonts

Hãy ghi nhớ rằng liếc và thông báo không thể sử dụng phông chữ tùy chỉnh. Nếu bạn muốn sử dụng một ở đó, bạn sẽ phải sử dụng một hình ảnh kết xuất. Tuy nhiên, vì ánh nhìn và thông báo sẽ tải nhanh chóng, bạn muốn có hình ảnh đó sẵn sàng để đi khi được gọi.

+0

đã làm điều này, và nó vẫn không hoạt động ... – Underdog

+0

@Underdog chỉnh sửa trả lời bằng hình ảnh. Cho tôi biết làm thế nào nó đi! –

Các vấn đề liên quan