React native bilan iOS simulyatorida tanib olinmagan shrift oilasi

Men Linux Biolinum shriftlarini qo'shib qo'ydim ( http://www.dafont.com/linux-biolinum. shrifti , LinBiolinum_R.ttf, LinBiolinum_RB.ttf) mening React Native loyihasiga. Android versiyasi - OK. Lekin iOS da har doim xato "Taniqli shrift oilasi LinBiolinum_R" ga qarang.

enter image description here

Mening uslubim:

customFontRegular: {
    fontFamily: 'LinBiolinum_R',
},

Shrift faylini va shrift turini "MyFont" ga o'zgartirishga harakat qildim, ammo xatolik yana iOS-da paydo bo'ladi.

Har qanday fikr bormi?

3
customFontRegular harakat qilib ko'ring: {fontFamily: "LinBiolinum R",},
qo'shib qo'ydi muallif Fantasim, manba

6 javoblar

Androidda u fayl nomini oladi va siz bajarasiz. iOS da biroz murakkab.

Bir necha qadam bor:

  • Shrift fayllarini XCode'da maqsadga kiritilganligini ikki marta tekshiring
  • "Bundle resurslarini nusxalash" qadamiga kiritilganligiga ishonch hosil qiling.
  • Ilovalarni Info.plist dasturiga qo'shing
  • Shriftning nomini FontBook orqali yoki AppDelegate-dagi ba'zi loglar bilan toping

Explained in more detail here: http://codewithchris.com/common-mistakes-with-adding-custom-fonts-to-your-ios-app/

Omad!

16
qo'shib qo'ydi
Rahmat qilganingizdan xursandman!
qo'shib qo'ydi muallif Wietse Venema, manba
Ha, men xuddi shunga o'xshash muammoga duch keldim, android fayl nomini ishlatadi, lekin iOS shriftning "haqiqiy nomi" dan foydalanadi (bu fayl nomidan farq qilishi mumkin).
qo'shib qo'ydi muallif sodik, manba
Men javobni qabul qildim. Yozuvlarda shrift nomini tekshirdim. Shrift nomi LinBiolinum va LinBiolinumB bo'lishi kerak. Rahmat.
qo'shib qo'ydi muallif anivaler, manba
Rahmat, u ishladi
qo'shib qo'ydi muallif bkit4u, manba
Yuqoridagi yechim mening ilovamda ko'p harflar uchun ishlaydi, lekin mening holatimda u ma'lum bir fontFamily uchun xatolikni ko'rsatmoqda. Juda g'alati. Iltimos, masalani bilish uchun boshqa usulni bilib olaylik. Yuqorida aytib o'tganman.
qo'shib qo'ydi muallif Jes, manba

Men uchun faylning nomini Shriftning nomiga o'zgartirgandim (faylni ochganimda ko'rsatilgan).

3
qo'shib qo'ydi
Bu biz uchun ham edi. ICOMOON shriftning nomini berishga sozlash mavjud edi. Fayl nomini va json ma'lumotlarini berganimdan boshqacha edi. Men buni muhim deb bilaman. Agar buni boshdan kechirayotgan bo'lsa, shrift nomini harflar to'plamini icomoon yoki boshqa shriftlarni yaratish dasturidan yuklab olishdan avval belgilang.
qo'shib qo'ydi muallif SamWise, manba
Bu men uchun ham ishladi, hatto shriftimda o'z nomimdan joy (hatto muammoli bo'lardi deb o'ylayman) bo'lsa ham, bu aslida muhim emas edi.
qo'shib qo'ydi muallif Karim Kouznetsov, manba

Add this to your package.json

"rnpm":{
    "assets":[
        "./assests/fonts/"
    ]
}

va keyin buyruq satrida reaktsion-native link ni ishlating

2
qo'shib qo'ydi

IOS uchun,

  • Bundle resurslarini nusxa ko'chirish
  • Xcode-da Resurslar papkangiz borligiga ishonch hosil qiling, biroq u o'chirildi va siz ushbu jildga qo'lda shrift yaratishingiz kerak.
  • harflarning kitobida Family ning nomini ishlatganingizga ishonch hosil qiling

1
qo'shib qo'ydi

Appdelegate faylida quyidagi kodni bajaring

for (NSString* family in [UIFont familyNames])
{
    NSLog(@"%@", family);

    for (NSString* name in [UIFont fontNamesForFamilyName: family])
    {
        NSLog(@"Family name:  %@", name);
    }
}

Shriftning fayl nomi o'rniga

fontFamily: "FuturaBT-Book"
0
qo'shib qo'ydi

Shrift fayllarini qayta nomladim va reaktsion-native link ni qayta ishga tushirdim va shu holatda yakunladim.

Eski shriftlar Resurslar papkasidan va Info.plist dan olib tashlandi va keyin yana qayta ishladim.

0
qo'shib qo'ydi
ReactJS & ReactNative Uzbekistan
ReactJS & ReactNative Uzbekistan
81 ishtirokchilar

Guruh ReactJS va ReactNative bo'yicha muloqot qilish uchun ochilgan. Sizni qiziqtirsa: @nodejs_uz @react_uz @angular_uz @ngTashkent @yiiframework_uz @js_uzb @typescript_uzb @vuejs_uz @ngTashkent @laravel_uz @uzdevgroup Ish o'rinlari @UzDev_jobs