SORU
9 Ocak 2012, PAZARTESİ


UİLabel - otomatik boyut bir metin sığdırmak için etiket?

Otomatik boyutlandırma kutusu/bulunan metni sığdırmak için sınırlarına UİLabel mümkün mü? (Eğer daha büyük ekran daha bitiyor umurumda değil)

Eğer bir kullanıcı girerse o kadar "" veya "benim adım bu kutuya sığdırmak istiyorum çok uzun", hiç kesilir ve etiket 'genişledi' buna göre? Merhaba

TEŞEKKÜRLER!

CEVAP
10 Ocak 2012, Salı


lütfen kontrol edin benim özü nerede ben bir kategori için UILabel için çok benzer bir şey, benim kategori sağlar UILabel ihtimal boy göstermek tüm içeriği: https://gist.github.com/1005520

Ya bu yazı check out: http://stackoverflow.com/a/7242981/662605

Bu yükseklik germek istiyorum, ama etrafında değiştirmek ve ne yapmak istediğini inanıyorum ki böyle bir şey ile genişliği streç:

@implementation UILabel (dynamicSizeMeWidth)

-(void)resizeToStretch{
    float width = [self expectedWidth];
    CGRect newFrame = [self frame];
    newFrame.size.width = width;
    [self setFrame:newFrame];
}

-(float)expectedWidth{
    [self setNumberOfLines:1];

    CGSize maximumLabelSize = CGSizeMake( CGFLOAT_MAX, CGRectGetWidth(self.bounds) );

    CGSize expectedLabelSize = [[self text] sizeWithFont:[self font] 
                                            constrainedToSize:maximumLabelSize
                                            lineBreakMode:[self lineBreakMode]]; 
    return expectedLabelSize.width;
}

@end

Daha basit sizeToFit yöntemi UIView sınıfından kullanılabilir, ama 1 satır sayısını güvenli olması için ayarlayabilirsiniz.


iOS 6 güncelleme

Eğer Otomatik kullanıyorsanız, o zaman inşa bir çözüm olacaktır. 0, çerçevesi için satır sayısını ayarlayarak etiket uygun (yükseklik daha ekleyerek) yeniden boyutlandırmak olacaktır metni sığdırmak için.

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Ben Schoon

    Ben Schoon

    23 Kasım 2012
  • Damien Walters

    Damien Walte

    20 AĞUSTOS 2006
  • UKF

    UKF

    2 Aralık 2009