iOS – Custom Font Kullanımı

Merhaba Arkadaşlar,
Mobilhanem.com’da paylaşımlara, sistemde tanımlı olmayan custom font’ları uygulamalamamızda nasıl kullanacağımızı anlatmaya çalışarak devam ediyoruz. Uygulamalarda text kullanımına her zaman ihtiyaç duyulur. ios işletim sisteminin tanımlı olarak gelen onlarca font vardır. Bu fontların dışına çıkmak istediğimizde bu paylaşımdaki yöntemi kullanarak istediğimiz font’u uygulamamızda kullanabiliriz. Hatta kendi fontumuzu tasarlayıp kullanmamız mümkün.

Sistemde tanımlı olan fontları aşağıdaki bloğu kullanarak listeleyebiliriz:

for(NSString *fontfamilyname in [UIFont familyNames])
{
    NSLog(@"Family:'%@'",fontfamilyname);
    for(NSString *fontName in [UIFont fontNamesForFamilyName:fontfamilyname])
    {
        NSLog(@"\tfont:'%@'",fontName);
    }
    NSLog(@"~~~~~~~~");
}

Bu listeden istediğimiz fontu seçip herhangi bir entegrasyon yapmadan kullanabiliriz. Bunlar dışında bir font eklemek istediğimizde aşağıdaki yöntemi izliyoruz:

1. Önce belirlediğimiz fontun .TTF dosyasını buluyoruz ve projemize ekliyoruz.

custom_font1

custom_font2

2. Info.plist dosyasına key “Fonts provided by application” olacak şekilde yeni bir satır ekliyoruz ve font ismimizi buraya tanımlıyoruz.

custom_font3

Bu işlemlerden sonra eklediğimiz fontu kullanabiliriz. Kontrol olması açısından yukarıda bahsettiğim kod bloğunu kullanarak sistemde tanımlı fontları listeleyip yeni eklediğimiz font’u bu listede görebiliriz.

Aşağıdaki gibi bir uygulama örneği ile font’u test ediyoruz.

- (IBAction)changeFont:(id)sender {
    
    fontIndex++;
    if (fontIndex>=fonts.count){
        fontIndex=0;
    }
    
    //label'in fontunu degistiriyoruz
    [sozLabel setFont:[UIFont fontWithName:[fonts objectAtIndex:fontIndex] size: 25.0f]];
    
    NSLog(@"font --> %@", [fonts objectAtIndex:fontIndex]);
    
}

- (void)viewDidLoad {
    [super viewDidLoad];
    
    fontIndex=-1;
    [self setFonts];
    
    //sozLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, self.myView.frame.size.width, self.myView.frame.size.height)];
    sozLabel = [[UILabel alloc] initWithFrame:CGRectMake(0, 0, 340, 340)];
    sozLabel.text=@"Custom Font Example";
    [sozLabel setTextColor:[UIColor blackColor]];
    NSString *fontName=@"Marker Felt";
    [sozLabel setFont:[UIFont fontWithName:fontName size: 25.0f]];
    [sozLabel setTextAlignment:NSTextAlignmentLeft];
    [self.myView addSubview:sozLabel];
    
}

- (void) setFonts{
    //font isimleri bir array'a alinir
    fonts = [NSMutableArray array];
    [fonts addObject:@"orange juice"];
    [fonts addObject:@"Noteworthy"];
    [fonts addObject:@"Marion"];
    [fonts addObject:@"Marker Felt"];
}

Kaynak kodu aşağıdaki linkten indirebilirsiniz:

Not olarak; yeni eklediğiniz fontun ismini .ttf dosyasına açarak ya da sistemdeki font’ları listeleyerek görüntüleyebilirsiniz. Dosya ismi ile font ismi farklı olabilir.

Bu paylaşımımızda custom font kullanımı konusunda bilgi vermek istedik. Sorularını ve önerileriniz için yorum kısmını kullanabilirsiniz. Birdahaki paylaşımlarımızda görüşmek üzere.

kaynak:
stackoverflow.com
1001freefonts.com

0

Aycan Ayhan

Yorum Yaz

Haftalık Bülten

Mobilhanem'de yayınlanan dersleri haftalık mail almak ister misiniz?