SORU
13 NİSAN 2010, Salı


UİButton altı çizili metin

Herkes bana yardımcı olabiliraltı çizilibu UİButton Başlığı. Özel türde bir UİButton var, ve Başlık altını çizmek istiyorum, ama İnterface Builder bunu yapmak için herhangi bir seçenek sağlamaz.

Bir Düğme için Yazı tipi Seçeneğini seçtiğinizde, Interface Builder, Yok, Tek, Çift, Renk seçmek için seçenek sunar ama bunların hiçbiri Başlık Düğmesini herhangi bir değişiklik sağlar.

Herhangi bir yardım için teşekkür ederiz.

Teşekkürler

CEVAP
10 NİSAN 2013, ÇARŞAMBA


İOS6 dan artık mümkün çok daha esnek bir şekilde altını (ve başka bir şey dizeler destek atfedilen) gerçekleştirmek için bir NSAttributedString kullanmak için:

NSMutableAttributedString *commentString = [[NSMutableAttributedString alloc] initWithString:@"The Quick Brown Fox"];

[commentString addAttribute:NSUnderlineStyleAttributeName value:[NSNumber numberWithInteger:NSUnderlineStyleSingle] range:NSMakeRange(0, [commentString length])];

[button setAttributedTitle:commentString forState:UIControlStateNormal];

Not: başka bir cevap olarak - onun gibi bir önceki benim için tamamen farklı bir çözüm ekledi.

Düzenleme: garip bir şekilde (iOS8 en az) çalışmıyor ilk karakteri yoksa altını çizmek zorundasın!

bu yüzden geçici bir çözüm olarak, ilk char açık renk ile altı çizili bir set!

    // underline Terms and condidtions
    NSMutableAttributedString* tncString = [[NSMutableAttributedString alloc] initWithString:@"View Terms and Conditions"];

    // workaround for bug in UIButton - first char needs to be underlined for some reason!
    [tncString addAttribute:NSUnderlineStyleAttributeName
                      value:@(NSUnderlineStyleSingle)
                      range:(NSRange){0,1}];
    [tncString addAttribute:NSUnderlineColorAttributeName value:[UIColor clearColor] range:NSMakeRange(0, 1)];


    [tncString addAttribute:NSUnderlineStyleAttributeName
                      value:@(NSUnderlineStyleSingle)
                      range:(NSRange){5,[tncString length] - 5}];

    [tncBtn setAttributedTitle:tncString forState:UIControlStateNormal];

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • ghosti66

    ghosti66

    27 AĞUSTOS 2006
  • L- Crysis

    L- Crysis

    30 Aralık 2011
  • Nick Pitera

    Nick Pitera

    8 NİSAN 2006