2013-05-26 61 views
2

試圖在RubyMotion(ios)應用程序中使用圖標字體作爲可伸縮圖標時出現問題。圖標字體不適用於RubyMotion應用程序

我從icomoon創建了一小組圖標,並將字符設置爲'A','B'和'C'。

enter image description here

我導入此入字體簿,它似乎尊重 'A', 'B' 和 'C' 的字符:

enter image description here

爲了測試,我發射一個字文檔和輸入 'A', 'B' 和 'C',它似乎顯示精細:

enter image description here

現在,到了RubyMotion應用程序 - 我列入/resources字體:

enter image description here

(從子目錄工作加載龍蝦和Open SAN)的

然後,我引用的字體在我Rakefile

Motion::Project::App.setup do |app| 
    # Use `rake config' to see complete project settings. 
    app.name = 'myapp' 
    app.fonts = ["OpenSans-Bold.ttf", "icomoon.ttf"] 
end 

在我的控制,我使用icomoon字體的標籤添加到屏幕

@lblIcon = UILabel.alloc.initWithFrame([[0,0],[100,100]]) 
@lblIcon.text = "A" 
@lblIcon.backgroundColor = UIColor.clearColor 
@lblIcon.color = "#ffffff".to_color 
ico_font = UIFont.fontWithName("icomoon", size:48) 
@lblIcon.font = ico_font 
self.view.addSubview @lblIcon 

現在,當我運行rake clean強制刷新和rake啓動模擬器,字體似乎不工作:

enter image description here

如果我使用RubyMotion檢查/ REPL和演練下來的字體,它說,它加載Helvetica,不icomoon因爲我打算:

enter image description here

在這裏,我不知道爲什麼我不能應用icomoon字體系列,而是出現helvetica

任何意見或建議?

+0

你試過app.fonts = [「OpenSans-Bold.ttf」,「fonts/icomoon/icomoon.ttf」] –

回答

2

我在「資源」文件夾中添加我的字體,併成功地直接使用它們,而不操縱app.fonts:

b.titleLabel.font = UIFont.fontWithName('Entypo', size: barHeight*1.1)

(我使用的字體被稱爲Entypo.ttf)

否則,你粘貼的代碼對我來說看起來沒問題。

+0

應用Entypo的作品!也許有生成的icomoon文件的某種字體問題?因此,Entypo看起來像使用unicode符號代碼而不是字母表 - 我如何在我的ruby字符串中使用U + 1F554之類的東西? '@lblIcon.text = [「1F554」.hex]。pack(「U」)'拋出一個'NSInvalidArgumentException:NSConcreteMutableAttributedString addAttribute:value:range :: nil value' – Evan

+0

對我有用[0x1f554] .pack('U *') –

+0

嗯,是'b.titleLabel。 text = [0x1f554] .pack('U *')'?仍然得到這個語法的例外,但我100%我使用它的權利(還沒有真正進入這方面的紅寶石) – Evan

相關問題