2013-05-26 5 views
2

Ошибка при использовании шрифта значка для масштабируемых значков в приложении RubyMotion (ios).Значок шрифта не применяется в приложении RubyMotion

Я создал небольшой набор значков из icomoon и задал символы «A», «B» и «C».

enter image description here

Я импортировал это в Font Book и, кажется, уважать 'A', 'B' и 'C' символы:

enter image description here

Для тестирования, я выстрелил до слова документа и напечатал 'A', 'B' и 'C' и, кажется, для отображения в порядке:

enter image description here

Теперь на приложение RubyMotion - я включил шрифт в /resources:

enter image description here

(Загрузка омары и Open Sans из подкаталогов работы)

Тогда я ссылаться на шрифт в моем 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 вместо алфавита - как я могу использовать что-то вроде 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

Смежные вопросы