2012-12-19 23 views
6

Katman içindeki bir metnin yazı tipi özelliklerini değiştirmeye çalışıyorum ama olmadı. Birisi yardım edebilir mi? kod aşağıda bulabilirsiniz:Yazı Tipi ve Tür CATextLayer ile uygulanmadı

- (id)initWithFrame:(CGRect)frame 
{ 
    self = [super initWithFrame:frame]; 

if (self) 
{ 

    // All HypnosisViews start with a clear background color 

    [self setBackgroundColor:[UIColor clearColor]]; 
    [self setCircleColor:[UIColor lightGrayColor]]; 


    // Create the new layer object 
    boxLayer = [[CATextLayer alloc] init]; 

    // Give it a size 
    [boxLayer setBounds:CGRectMake(0.0, 0.0, 300.0, 85.0)]; 

    // Give it a location 
    [boxLayer setPosition:CGPointMake(160.0, 350.0)]; 

    // Make half-transparent red the background color for the layer 
    UIColor *reddish = [UIColor colorWithRed:0.0 green:0.0 blue:0.0 alpha:0.75]; 

    // Get CGColor object with the same color values 
    CGColorRef cgReddish = [reddish CGColor]; 
    [boxLayer setBackgroundColor:cgReddish]; 

    // Make it a sublayer on the view's layer 
    [[self layer] addSublayer:boxLayer]; 

    NSString *text2 = @"You are me."; 
    UIFont *font2 = [UIFont fontWithName:@"Times New Roman" size:10.0]; 
    [text2 sizeWithFont:font2]; 


    [boxLayer setString:text2]; 

} 
return self; 
} 

cevap

7

bir CATextLayer font/font boyutunu değiştirmek için, "yazı" ve katmanın "fontSize" özelliklerine değerler atamak zorunda. Ya da bir NSAttributedString kullanmanız gerekir. Bu durumda, bu dize nesnesinin değerleri kullanılır.

Kullandığınız "sizeWithFont" çağrısı, hiçbir şey yapmayan ancak verdiğiniz yazı tipine verdiğiniz metnin genişliğini ve yüksekliğini hesaplayıp döndüren bir NSString eklentisidir. Dönen CGSize kodunuzda kullanmadığınızdan, kesinlikle hiçbir şey yapmaz. Apple docs numaralı başvuruda bulunan

.

+0

Bu sadece harika. Teşekkürler. İşe yaradı. – Armand

+0

Mükemmel - Eğer aradığınız şey buysa, lütfen bunu doğru cevap olarak işaretleyin, böylece bunun çözüldüğü başkalarına görünür olmasını sağlayın! –

+0

Elbette ama nasıl yapacağım? Bu sitede yeniyim. Ayrıca CATextLayer hakkında: Katman köşesi yuvarlak bir yolu var mı? Ve katman içindeki bir metnin çizgilerini nasıl kırırsınız? – Armand