- Published on
SwiftUI-da TextSelection β matnni tanlash
- Authors
- Name
- ShoxruxC
- @iOSdasturchi
Hammaga xush kelibsiz! Mening ismim Nick, bu β Swiftful Thinking kanali.
Bu videoda textSelection modifier-ini ko'ramiz. Bu iOS 15 da qo'shilgan yangilik bo'lib, foydalanuvchiga ilovadagi matnni tanlash, nusxalash va ulashish imkonini beradi. Va bularning barchasi atigi bitta qator kod bilan amalga oshadi.
Yangi fayl yaratish
Navigatorda o'ng tugma bosib yangi SwiftUI fayli yarating. Uni TextSelectionBootcamp deb nomlang va Create tugmasini bosing. Canvas-da Resume bosing.
.textSelection() β bitta qator
struct TextSelectionBootcamp: View {
var body: some View {
Text("Hello, world!")
.textSelection(.enabled)
}
}
Faqat shu bitta qator. Endi foydalanuvchi matn ustida bosib tursa, "Copy" va "Share" tugmalari paydo bo'ladi.
.enabled va .disabled
// Tanlash yoqilgan (standart β o'chiq)
Text("Bu matnni nusxalash mumkin")
.textSelection(.enabled)
// Tanlash o'chirilgan (standart holat)
Text("Bu matnni nusxalab bo'lmaydi")
.textSelection(.disabled)
Barcha Text elementlari standart holatda disabled β foydalanuvchi tanlay olmaydi. enabled qo'shilgandagina tanlash mumkin bo'ladi.
VStack yoki List bilan birga
.textSelection() ni butun bir container-ga berish mumkin β ichidagi barcha matnlar tanlanadigan bo'ladi:
struct TextSelectionBootcamp: View {
var body: some View {
VStack(spacing: 20) {
Text("Birinchi xabar β tanlash mumkin")
Text("Ikkinchi xabar β tanlash mumkin")
Text("Uchinchi xabar β tanlash mumkin")
}
.textSelection(.enabled)
}
}
Hozircha foydalanuvchi faqat bosib turgan bitta
Textelementini tanlaydi. Bir nechta elementni bir vaqtda tanlash hali qo'llab-quvvatlanmaydi.
Qachon ishlatiladi?
- Chat ilovalar β foydalanuvchi xabarni nusxalab do'stiga yubormoqchi
- Maqola yoki blog β qiziqarli parchani nusxalash
- Kod ko'rsatuvchi ilovalar β kodni nusxalash
- Istalgan joy β foydalanuvchi matnni nusxalashi mumkin bo'lishi kerak bo'lsa
To'liq kod
struct TextSelectionBootcamp: View {
var body: some View {
VStack(spacing: 20) {
Text("Bu matnni bosib turing β nusxalashingiz mumkin!")
.textSelection(.enabled)
.font(.headline)
.multilineTextAlignment(.center)
.padding()
Text("Bu matnni tanlab bo'lmaydi.")
.textSelection(.disabled)
.foregroundColor(.gray)
}
.padding()
}
}
Xulosa
Bu videoda o'rgandik:
.textSelection(.enabled)β foydalanuvchiga matnni tanlash imkonini beradi.textSelection(.disabled)β matn tanlanmaydi (standart holat)- Bitta modifier butun
VStackyokiListichidagi barcha matnga ta'sir qiladi - iOS 15 dan boshlab mavjud
- Avval bu funksiyani qo'shish murakkab edi β endi bir qator kod yetarli
Rahmat tomosha qilganingiz uchun! Men β Nick, bu Swiftful Thinking. Keyingi videoda ko'rishamiz!