SORU
21 EYLÜL 2010, Salı


Çizgi UİTextView yükseklik ayarlı

Zaten herhangi bir kamu API ile yapılabilir mi emin değilim ama ben yine de sormak istiyorum:

Bir UİTextView satır yüksekliğini değiştirmek için herhangi bir yolu var mı?

Bunu yapmak için yeterli olacağını statik olarak, çalışma zamanında değiştirmemiz gerekiyor. Sorun varsayılan satır yüksekliğini sadece çok küçük bir YOLU. Metin son derece sıkıştırılmış bak ve uzun metinleri yazmak için çalışırken bir kabus olacak.

teşekkürler Max

DÜZENLEME:UIWebView ve güzel tasarımı vb yapabileceğini biliyorum. Amadüzenlenebilir değil. Kabul edilebilir satır yüksekliği ile düzenlenebilir bir metin bileşeni ihtiyacım var. Omni çerçevelerinden bu şey çok yavaş ve doğru gelmiyor ya da yardım değil

CEVAP
18 EYLÜL 2013, ÇARŞAMBA


Artık işler 7, iOS.

Bunun yerine, iki tane de yedek üye iOS7 vardır.

Öncelikle, TextKit; yeni ve güçlü motoru. Satır aralığı değiştirmek için, UİTextView düzeni yöneticisi temsilci ayarlayın:

textView.layoutManager.delegate = self; // you'll need to declare you implement the NSLayoutManagerDelegate protocol

Daha sonra bu temsilci yöntem geçersiz kılma:

- (CGFloat)layoutManager:(NSLayoutManager *)layoutManager lineSpacingAfterGlyphAtIndex:(NSUInteger)glyphIndex withProposedLineFragmentRect:(CGRect)rect
{
    return 20; // For really wide spacing; pick your own value
}

İkinci olarak, iOS 7 artık NSParagraphStyle bu satır arası boşluğu destekler. Alternatif olarak..

NSMutableParagraphStyle *paragraphStyle = [[NSMutableParagraphStyle alloc] init];
paragraphStyle.headIndent = 15; // <--- indention if you need it
paragraphStyle.firstLineHeadIndent = 15;

paragraphStyle.lineSpacing = 7; // <--- magic line spacing here!

NSDictionary *attrsDictionary =
@{ NSFontAttributeName: font, <-- if you need; & there are many more attrs
   NSParagraphStyleAttributeName: paragraphStyle};

self.textView.attributedText = [[NSAttributedString alloc] initWithString:@"Hello World over many lines!" attributes:attrsDictionary];

FWIW, UİTextView sol kenarı boyunca metni hizalamak için eski contentİnset yöntemi de iOS7 altında hiçbir faydası yoktur. Bunun yerine, kenar kaldırmak için:

textView.textContainer.lineFragmentPadding = 0;

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

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • adrianisen

    adrianisen

    25 Kasım 2009
  • ExcelIsFun

    ExcelIsFun

    16 ŞUBAT 2008
  • TheSalband Rai

    TheSalband R

    11 NİSAN 2011