SORU
27 AĞUSTOS 2009, PERŞEMBE


Piksel UİLabel metnin Genişliği

Bir UİLabel ile striked çizmek istiyorum. Bu nedenle UİLabel ben alt ve aşağıdaki gibi uygulanmaktadır

@implementation UIStrikedLabel

- (void)drawTextInRect:(CGRect)rect{
    [super drawTextInRect:rect];

    CGContextRef context = UIGraphicsGetCurrentContext();
    CGContextFillRect(context,CGRectMake(0,rect.size.height/2,rect.size.width,1));
}
@end

Ne olur UİLabel bir satır tüm etiket sürece olmanın striked geçer, ama metin daha kısa olabilir. Bir şekilde piksel satırı uygun şekilde çizilmiş, böyle bir metnin uzunluğunu belirlemek için var mı?

Ayrıca başka bir çözüm, bilinen:) açığım

En iyi, Erik

CEVAP
27 AĞUSTOS 2009, PERŞEMBE


NSString bunun için kullanılabilecek sizeWithAttributes: bir yöntemi vardır. Aşağıdakine benzer bir şey etiketi içindeki metin genişliğini bulmak için bu CGSize bir yapı verir.

iOS 7 ve daha yüksek

CGSize textSize = [[label text] sizeWithAttributes:@{NSFontAttributeName:[label font]}];

CGFloat strikeWidth = textSize.width;

iOS <7

İOS7, önce sizeWithFont: yöntemi kullanmak zorunda kaldı.

CGSize textSize = [[label text] sizeWithFont:[label font]];

CGFloat strikeWidth = textSize.width;

UİLabel dinamik olarak kullanabileceğiniz bir font özelliği yukarıda yaptığım gibi etiket için yazı tipi incelikleri vardır.

Umarım bu yardımcı olur :)

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • 10 Daughters, 2 Sons

    10 Daughters

    10 Mart 2009
  • PorterRobinsonVEVO

    PorterRobins

    11 Kasım 2013
  • Rayone GB

    Rayone GB

    14 Temmuz 2007