- Published on
SwiftUI da tizim piktogrammalari, ko'p rangli piktogrammalar va SF belgilari
- Authors
- Name
- ShoxruxC
- @iOSdasturchi
Yana xush kelibsiz!
Hammaga yana xush kelibsiz! Men Nikman. Bu videoda ikonkalar haqida gaplashamiz. SwiftUI ilovalarida foydalanish uchun Xcode’da minglab tayyor tizim ikonkaları mavjud.
Bu ikonkalar Apple jamoasi tomonidan yaratilgan va dasturchilar uchun juda qulay – har safar maxsus ikonka yaratib, uning piksel o‘lchamlarini sozlash shart emas. Tizim ikonkaları o‘zicha moslashtiriladi – men sizlarga ularni ilovaga qanday qo‘shish, rang va o‘lchamini o‘zgartirishni ko‘rsataman, shuningdek, barcha mavjud ikonkalar katalogini qanday ko‘rishni tushuntiraman.
Ishlab chiqarish ilovalarida ko‘pincha maxsus ikonkalar ishlatiladi, lekin yangi boshlovchi yoki dasturchi sifatida tizim ikonkalarıni tavsiya qilaman – ular oson va moslashuvchan. Men ham o‘z ilovalarim va kurslarimda ulardan foydalanaman. Apple minglab tayyor ikonka taqdim etgan – deyarli har qanday ehtiyojga mos keladi.
Yangi fayl yaratish
Xcode loyihamizga qaytdim. Bu videodagi kod uchun yangi fayl yaratyapman:
- Project Navigator’da (chapda) o‘ng tugmani bosing.
- “New File” > “SwiftUI View”ni tanlang.
- Fayl nomini “IconsBootcamp” deb qo‘ying.
Fayl ochilgach, o‘ngdagi preview’da “Resume” tugmasini bosing – preview ulanadi.
Tizim ikonkalarini qo‘shish
Xcode’da tayyor tizim ikonkaları mavjud. Ikonka qo‘shish uchun:
Image(systemName: "heart.fill")
Image(systemName:)– tizim ikonkalari uchun ishlatiladi."heart.fill"– doira ichida to‘ldirilgan yurak ikonkasi. Preview’da darhol ko‘rinadi.
O‘lchamni o‘zgartirish
Image(systemName: "heart.fill")
.font(.title)
.font()– matndagi kabi o‘lchamni o‘zgartiradi:.title– kattaroq..largeTitle– yanada katta..caption– kichik.
- Tizim o‘lchamlari (
title,body) iPhone sozlamalariga moslashadi.
Maxsus o‘lcham
Image(systemName: "heart.fill")
.font(.system(size: 200))
.system(size:)– aniq piksel o‘lchami (masalan, 200).
Rang o‘zgartirish
Image(systemName: "heart.fill")
.font(.system(size: 200))
.foregroundColor(.green)
.foregroundColor()– ikonka rangini o‘zgartiradi (Color.green,Color literalyoki boshqa rang).- Gradient qo‘llab-quvvatlanmaydi.
Ramka bilan moslashtirish
Image(systemName: "heart.fill")
.frame(width: 300, height: 300)
.resizable()
.frame(width:height:)– ikonka chegarasini belgilaydi..resizable()– ramkaga moslashadi, lekin o‘lcham avtomatik o‘zgarmaydi.
Nisbatni sozlash
Image(systemName: "heart.fill")
.resizable()
.aspectRatio(contentMode: .fill)
.frame(width: 300, height: 300)
.aspectRatio(contentMode:):.fill– ramkani maksimal to‘ldiradi (chekkalari kesilishi mumkin)..fit– ramkaga sig‘adi, proport siyasi saqlanadi.
Yoki:
Image(systemName: "heart.fill") .resizable() .scaledToFill() .frame(width: 300, height: 300).scaledToFill()yoki.scaledToFit()–.aspectRationing qisqa shakli.
Kesish
Image(systemName: "heart.fill")
.resizable()
.scaledToFill()
.frame(width: 300, height: 300)
.clipped()
.clipped()– ramkadan tashqariga chiqqan qismlarni kesadi.
Ikonka katalogi
Tizim ikonkalari ro‘yxatini ko‘rish uchun:
- Google’da “developer.apple.com/design/resources” yoki “SF Symbols” deb qidiring.
- SF Symbols ilovasini bepul yuklab oling – unda 2400+ ikonka mavjud.
Ilovada:
- Ikonka nomini o‘ng tugma bilan “Copy Name” qilib nusxa oling (masalan, “paperplane.fill”).
- Kodga qo‘shing:
Image(systemName: "paperplane.fill") .font(.largeTitle)
Boshqa misol:
Image(systemName: "books.vertical.fill")
.font(.largeTitle)
Tez-tez ishlatiladiganlar
"xmark"– oddiy X belgisi:Image(systemName: "xmark") .font(.largeTitle)
Ko‘p rangli ikonkalar
Apple SF Symbols’da ko‘p rangli ikonkalarni qo‘shgan:
- SF Symbols ilovasida “Multicolor” yorlig‘ini oching, rangli ikonkalar ko‘rinadi.
- Misol: “person.fill.badge.plus” – ko‘k va yashil ranglarda:
Image(systemName: "person.fill.badge.plus") .font(.largeTitle) - Standartda bitta rang bo‘ladi, lekin:
Image(systemName: "person.fill.badge.plus") .renderingMode(.original) .font(.largeTitle) .renderingMode(.original)– asl ranglarni saqlaydi (yashil “+” belgisi).- Faqat ko‘k qism o‘zgartiriladi, qolgan ranglar (yashil, qizil) o‘zgarmaydi.
Xulosa
Bu videoda SwiftUI’dagi tizim ikonkalarni ko‘rdik:
- Ularni qanday qo‘shish –
Image(systemName:). - SF Symbols ilovasida ro‘yxatni ko‘rish.
- O‘lcham (
.font), rang (.foregroundColor), ramka (.frame,.resizable) bilan moslashtirish. - Ko‘p rangli ikonkalar uchun
.renderingMode(.original).
Tizim ikonkalar har bir ilovada ishlatiladi – maxsus ikonkalarni dizayner yaratishi va o‘lchamlarini sozlashi kerak bo‘lsa-da, tizim ikonkalar oson va qulay. Keyingi videoda o‘z rasmlarimiz va maxsus ikonkalarni qo‘shishni ko‘ramiz. Men Nikman, bu “Swiftful Thinking”, keyingi videoda ko‘rishguncha!