Apakah ada cara untuk memiliki beberapa baris teks UILabel
seperti di UITextView
atau haruskah saya menggunakan yang kedua?
ios
uilabel
uitextview
line-breaks
multiline
Ilya Suzdalnitski
sumber
sumber
UILineBreakModeWordWrap
sudah usang di iOS 6. Anda sekarang harus menggunakanNSLineBreakByWordWrapping = 0
Lihat dokumentasi di siniJawaban:
Saya menemukan solusinya.
Kita hanya perlu menambahkan kode berikut:
Pulihkan jawaban lama (untuk referensi dan pengembang yang bersedia mendukung iOS di bawah 6.0):
Di sisi: kedua nilai enum menghasilkan to
0
anyway.sumber
cell.textLabel?.lineBreakMode = NSLineBreakMode.ByWordWrapping
dancell.textLabel?.numberOfLines = 0
Di IB, setel jumlah baris ke 0 (memungkinkan jalur tak terbatas)
Saat mengetik dalam bidang teks menggunakan IB, gunakan "alt-return" untuk menyisipkan pengembalian dan pergi ke baris berikutnya (atau Anda dapat menyalin dalam teks yang sudah dipisahkan oleh baris).
sumber
Solusi terbaik yang saya temukan (untuk masalah frustasi yang seharusnya diselesaikan dalam kerangka kerja) mirip dengan vaychick.
Cukup atur jumlah baris ke 0 dalam IB atau kode
Ini akan menampilkan garis-garis yang diperlukan tetapi akan memposisikan ulang label sehingga bagian tengahnya horizontal (sehingga label 1 baris dan 3 baris sejajar dalam posisi horizontal mereka). Untuk memperbaikinya tambahkan:
sumber
Gunakan ini untuk membuat beberapa baris teks
UILabel
:Cepat:
sumber
sumber
Jika Anda harus menggunakan:
properti Anda juga dapat menggunakan garis istirahat standar
("\n")
, dalam kode, untuk memaksa baris baru.sumber
Anda dapat menggunakan
\r
untuk pergi ke baris berikutnya saat mengisiUILabel
penggunaanNSString
.sumber
ayo coba ini
sumber
Solusi di atas tidak berfungsi dalam kasus saya. Saya melakukan seperti ini:
sumber
Gunakan story borad: pilih label untuk mengatur jumlah baris menjadi nol ...... Atau Referensikan ini
sumber
Swift 3
Tetapkan jumlah baris nol untuk informasi teks dinamis, ini akan berguna untuk berbagai teks.
sumber
Untuk beberapa alasan ini tidak berfungsi untuk saya di iOS 6 tidak yakin mengapa. Mencobanya dengan dan tanpa teks yang dikaitkan. Ada saran.
sumber
Coba gunakan ini:
sumber
Hal-hal ini membantu saya
Ubah properti UILabel ini
Dan sambil memberikan input, gunakan String \ n untuk menampilkan kata-kata yang berbeda di baris yang berbeda.
Contoh:
sumber
Metode 1:
Sekarang panggil saja seperti ini
EX:
Metode 2:
Secara terprogram
Metode 3:
Melalui papan cerita
Untuk menampilkan beberapa baris yang ditetapkan 0 (Nol), ini akan menampilkan lebih dari satu baris di label Anda.
Jika Anda ingin menampilkan n baris, atur n.
Lihat di bawah layar.
Jika Anda ingin mengatur ukuran font minimum untuk label Klik Autoshrink dan Pilih opsi Ukuran Font Minimum
Lihat layar di bawah ini
Di sini mengatur ukuran font minimum
EX: 9 (Dalam gambar ini)
Jika label Anda mendapatkan lebih banyak teks pada saat itu, teks label Anda akan menyusut hingga 9
sumber
sumber
Anda dapat melakukannya melalui Storyboard juga:
sumber
Anda harus mencoba ini:
sumber
sumber
Sudah dijawab, tetapi Anda dapat melakukannya secara manual di storyboard juga. Di bawah Atribut Attectores for the Label, Anda dapat mengubah Line Breaks ke Word Wrap (atau karakter wrap).
sumber
Dalam fungsi ini, lewati string yang ingin Anda tetapkan dalam label dan lewati ukuran font sebagai ganti self.activityFont dan lewati lebar label di tempat 235, sekarang Anda mendapatkan tinggi label sesuai dengan string Anda. itu akan bekerja dengan baik.
sumber
Diatur di bawah ini dalam kode atau di storyboard itu sendiri
Label.lineBreakMode = NSLineBreakByWordWrapping; Label.numberOfLines = 0;
dan jangan lupa untuk mengatur batasan kiri, kanan, atas dan bawah untuk label jika tidak akan bekerja.
sumber
Swift 4:
sumber
Pada C #, ini bekerja untuk saya di dalam UITableViewCell.
Saya pikir intinya di sini adalah: -
sumber
Kode ini mengembalikan tinggi ukuran menurut teks
sumber