Saya perlu mencari beberapa string dan menetapkan beberapa atribut sebelum menggabungkan string, sehingga memiliki NSStrings -> Menggabungkan mereka -> Membuat NSAttributedString bukan merupakan pilihan, apakah ada cara untuk menggabungkan string yang dikaitkan dengan Tring ke yang lain dikaitkan dengan Trtring?
ios
nsattributedstring
Imanou Petit
sumber
sumber
Jawaban:
Saya akan merekomendasikan Anda menggunakan string yang dikaitkan tunggal yang dapat diubah yang disarankan oleh @Linuxios, dan inilah contoh lain dari itu:
Namun, hanya demi mendapatkan semua opsi di luar sana, Anda juga bisa membuat string tunggal yang dapat diubah, dibuat dari NSString yang diformat yang berisi string input yang sudah disatukan. Anda kemudian dapat menggunakan
addAttributes: range:
untuk menambahkan atribut setelah fakta ke rentang yang berisi string input. Saya merekomendasikan cara sebelumnya.sumber
Jika Anda menggunakan Swift, Anda bisa membebani
+
operator terlalu banyak sehingga Anda dapat menggabungkannya dengan cara yang sama dengan Anda menggabungkan string normal:Sekarang Anda dapat menggabungkannya hanya dengan menambahkannya:
sumber
return NSAttributedString(attributedString: result)
Helpers
atauExtensions
dan menempatkan fungsi ini dalam file bernamaNSAttributedString+Concatenate.swift
.Swift 3: Cukup buat NSMutableAttributedString dan tambahkan string yang dikaitkan dengannya.
swift5 upd:
sumber
Coba ini:
Di mana
astring1
danastring2
adalahNSAttributedString
s.sumber
[[aString1 mutableCopy] appendAttributedString: aString2]
.NSMutableAttributedString* aString3 = [aString1 mutableCopy]; [aString3 appendAttributedString: aString2];
.result
sebagaiNSMutableAttributedString
. bukan apa yang ingin dilihat penulis.stringByAppendingString
- metode ini akan bagus2020 | SWIFT 5.1:
Anda dapat menambahkan 2
NSMutableAttributedString
dengan cara berikut:Cara lain bekerja dengan
NSMutableAttributedString
danNSAttributedString
keduanya:Cara lain adalah ....
dan:
Anda dapat melakukan ini dengan ekstensi berikut:
sumber
NSAttrStr1.append(NSAttrStr2)
Jika Anda menggunakan Cocoapods, alternatif untuk kedua jawaban di atas yang memungkinkan Anda terhindar dari ketidakmampuan dalam kode Anda sendiri adalah dengan menggunakan kategori NSAttributedString + CCLFormat yang sangat baik di
NSAttributedString
s yang memungkinkan Anda menulis sesuatu seperti:Tentu saja itu hanya digunakan di
NSMutableAttributedString
bawah selimut.Ini juga memiliki keuntungan ekstra sebagai fungsi pemformatan yang lengkap - sehingga bisa melakukan lebih banyak daripada menambahkan string bersama.
sumber
sumber
Anda dapat mencoba SwiftyFormat Ini menggunakan sintaks berikut
sumber