UILabel - Wordwrap metni


150

Gerektiğinde bir etiket wordwrap metnine sahip olmanın herhangi bir yolu var mı? Sözcük kaydırmaya ayarlanmış satır sonları var ve etiket iki satır için yeterince uzun, ancak yalnızca satır sonlarına sarılacak gibi görünüyor. Düzgün sarılması için satır sonları eklemem gerekir mi? Sadece yatay olarak sığamazsa sarılmasını istiyorum.

Yanıtlar:


301

numberOfLines0'a (ve etiketi kelime sarmaya) ayarlarsanız , etiket otomatik olarak gerektiği kadar satır kayar ve kullanır.

UILabelIB'de bir düzenleme yapıyorsanız , satır sonu elde etmek için option+ tuşuna basarak birden çok metin satırı girebilirsiniz return- returntek başına düzenlemeyi bitirecektir.


124
Benim gibi noobs için açıklığa kavuşturmak için, şöyle olur: cell.textLabel.numberOfLines = 0; cell.textLabel.lineBreakMode = UILineBreakModeWordWrap;
Brian Moeskau

46
İOS 6 ve sonraki sürümlerde NSLineBreakByWordWrapping, değil kullanın UILineBreakModeWordWrap.
Aaron Brager

3
Ayrıca aşağıdakilere de ihtiyacınız olabilir: label.autoresizingMask = UIViewAutoresizingF FlexibleHeight;
William Grand

6
label.lineBreakMode = .ByWordWrappingve label.numberOfLines = 0Swift içinde
AFraser

9
Bunun (benim gibi) aşikâr olmadığı herkes için: UILabel genişliğinde bir çeşit sınırlamaya sahip olmalıdır (gerçek bir genişlik sınırından veya kenar boşluğu kısıtlamalarından); aksi takdirde sarılmaz.
jcady

27

UILabellineBreakModesizin ihtiyacınıza göre ayarlayabilirsiniz bir özelliği vardır.


11
Msgstr "Satır sonlarını sözcük kaydırmaya ayarladım". Bu sadece gerçek satır sonlarını sarar, uzun sürdüğünde otomatik olarak kırılmaz.
Codezy

19

Swift'te böyle yapardın:

    label.lineBreakMode = NSLineBreakMode.ByWordWrapping
    label.numberOfLines = 0

(LineBreakMode sabitinin çalışma şeklinin ObjC'de farklı olduğuna dikkat edin)


Nasıl farklı olduğu üzerinde durmak ister misiniz?
Mike

Sanırım sadece isimlendirme farklıydı. Muhtemelen swift3'te tekrar değişti
Nathan

Satır sonu modu, sözcük kaydırmaya varsayılan olarak ayarlanmalıdır
MobileMon

@MobileMonin benim durumum her zaman böyle değil. Belki IB bazı durumlarda değiştirir?
Nathan

label.lineBreakMode = NSLineBreakByWordAğlama Obj C
Nupur Sharma

2

Xcode 10, Swift 4

Bir etiketin Metnini Sarma, Etiket'i seçip Nitelikler Müfettişini kullanarak Öykü Paketi'nde de yapılabilir.

Satırlar = 0 Satır Arası = Sözcük Kaydırma

resim açıklamasını buraya girin


2
BranBrand-New etiketini kullanarak, doğrudan görünüme ekleyerek, satırları 0'a ve satır aralarını Word Wrap'a ayarlamasına rağmen, benim için hala tek satırlı bir etiket (telefonun genişliğinden daha büyük bir genişliğe sahip) üretir. Gerekli olabilecek başka bir ayar var mı? Ek kod eklemem gerekir mi?
phihag
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.