2017-01-10 28 views
8

Aşağıdaki resimde, sol tarafta Android'de ve sağda iOS'ta oluşturulanla aynı Metin bileşenini inceledim. IOS'un yazı tipini Metin kabının üst kısmında oluşturduğu anlaşılıyor.React Native: Özel yazı tipi, Android ve iOS'ta farklı şekillerde işler.

Hem Android hem de iOS için aynı TTF yazı tipi dosyasını kullanıyorum. (here kullanıyorum yazı tipine bir çevrimiçi başvuru bulundu.)

Yazı tipinin hem Android hem de iOS için nasıl oluşturulmasını sağladığına dair herhangi bir fikir var mı?

enter image description here

Daha açıkçası, fark herhangi stil (marj, yazı tipi boyutu, vs.) neden değildir. Tam olarak aynı.

cevap

5

Düzeltme buldum ama doğru değil. Her cihazda aynı işlevi gören başka bir yazı tipi bulmanız gerektiğini düşünüyorum.

Sen metin bileşenleri için aynı dikey hizalama elde etmek lineHeight, padding ve margin etrafında oynayabilir:

Ios:

instructions: { 
    fontFamily: 'Metric-Regular', 
    fontSize: 50, 
    lineHeight: 50, 
    paddingTop: 25, 
    marginBottom: -35, 
    marginTop: 35 
    } 

enter image description here

+1

Teşekkür, bu gerçekten yardımcı oldu çözüm bulmak için bana! Çünkü çok satırlı Metinleri desteklemem gerekiyor, sizin yaptığınız gibi yüksekliği ayarlayamıyorum. Ancak, üstte bir dolgu eklediğimde ve Metin bileşeninin alt kısmında negatif bir kenar boşluğu eklediğinde, her ikisi de yazı tipi boyutuna göre çalışıyor gibi görünüyor. – henkimon

+0

@henkimon Teşekkürler, yardımcı olduğuma sevindim. Gördüğünüz gibi, cevabınızı yorumunuza göre geliştirdim. Bunu kabul ederseniz, bu benim için dünya anlamına gelir. – AlexB