2015-06-25 15 views
6

Chciałbym utworzyć nakładkę tekstu na moje obrazy. Problem polega na tym, że jeśli źle spróbuje dodać drugi tekst, np. Podtytuł, ignoruje mój rozmiar czcionki.CATextLayer ignoruje rozmiar czcionki

titleLayer.frame = CGRectMake(0, 80, imageView.bounds.width, 50) 
    subTitleLayer.frame = CGRectMake(0, 130, imageView.bounds.width, 40) 

    titleLayer.string = "Title" 
    subTitleLayer.string = "Subtitle" 


    let fontName: CFStringRef = "HelveticaNeue" 
    let fontSubName: CFStringRef = "HelveticaNeue-Thin" 
    titleLayer.font = CTFontCreateWithName(fontName, 16, nil) 
    subTitleLayer.font = CTFontCreateWithName(fontSubName, 10, nil) // Ignores the font-size 

    imageView.layer.addSublayer(titleLayer) 
    imageView.layer.addSublayer(subTitleLayer) 

Nowa czcionka jest poprawny, ale jego zawsze o tej samej wielkości (16) Podobnie jak titleFont. Jak mogę zmienić rozmiar czcionki?

Odpowiedz

10

Zapraszamy do obejrzenia tej notatki na font property z CATextLayer

Jeśli właściwość font jest CTFontRef, A CGFontRef lub instancją z NSFont, rozmiar czcionki nieruchomości jest ignorowany.

Wyjaśnia to wyraźnie, że rozmiar czcionki CTFontRef jest ignorowany. W celu rozwiązania tego problemu zostały jawnie ustawić fontSize atrybut CATextLayer

titleLayer.fontSize = 16 
subTitleLayer.fontSize = 10 
+0

Dziękuję bardzo Zell B. mam to wydać całe popołudnie. Ten interfejs jest naprawdę "niebezpieczny" od Apple. Jest naprawdę niezręczny, zostałem złapany i nigdy się nie dowiedziałem, że muszę skopiować rozmiar czcionki do innej nieruchomości ... –