Hangi Dijital Araçları Kullanıyorum?
Markdown desteği, yeni buton stili, özelleştirilebilir listeler ve daha fazlası
Apple’ın her yıl düzenlemiş olduğu Worldwide Developers Conference yani kısaca WWDC, 2021 yılında bizleri pek çok yenilik ile karşıladı. Bu yazımda SwiftUI 3.0 ile birlikte gelen yenilik ve geliştirmelerden bahsedeceğim.
SwiftUI 3.0’ın iOS 15, iPadOS 15, macOS 12 ve watchOS 12 ve üzeri sürümlerle uyumlu olduğunu hatırlatmakta fayda var.
Tüm bu güncellemeleri anlatmaya başlamadan önce minik bir değişiklikten bahsetmek isterim, bir Xcode projesinde Info.plist
dosyasına ana dizinden ulaşabiliyorduk, yeni güncelleme ile birlikte artık Project Navigation sekmesinden erişebiliyoruz.
Şimdi gelin iOS 15 için gelen yeni özelliklere bir göz atalım! (Her ne kadar iOS 15 için gelen özelliklere bakacak olsak da pek çoğu diğer platformlarla da uyumlu.)
Markdown Desteği
Markdown, biçimlendirilmiş metinler yazmak için kullanılan bir dildir. GitHub kullanırken Readme.md
uzantılı dosyalara mutlaka rastlamışsınızdır.
iOS 15 ile birlikte SwiftUI’ye Markdown desteği geliyor. Bu sayede oluşturduğunuz bir Text’e aşağıda göründüğü gibi Markdown söz dizimine sahip ifadeler ekleyebilirsiniz.
Text(“**Connect** [Twitter](https://www.x.com/dogancna”)
Bir de uygulama üzerinde örnek görelim:
Yeni Butonlar!
SwiftUI’da kullandığımız butonlar artık çok daha güçlü ve yetenekli hale geldi. Butonlara yeni roller ve stil değiştiriciler ekleyebiliyoruz.
ButtonRole
ile buton tipini(rol) belirleyebiliriz. Alabildiği değerler:
cancel
destructive
none
some()
Bunların yanında buttonStyle
ile butonların stilini değiştirebiliriz. BorderedButtonStyle
, BorderlessButtonStyle
, PlainButtonStyle
ya da DefaultButtonStyle
seçeneklerini kullanabiliriz.
Farklı stil ve türlere sahip butonlara hızlı bir bakış atalım!
Butonlarla alakalı 2 minik özellik daha:
controlSize
Butonun boyutunu ayarlamak için varolan seçeneklerden birini seçebiliriz.controlProminence
Buton opaklığını ayarlamamıza yardımcı olur.
URL’den Resim Yüklemek için AsyncImage
SwiftUI, **AsyncImage**
ile internetteki görüntüleri indirmek ve görüntülemek oldukça kolay hale geldi. En basit haliyle, şöyle bir yapı ile resim gösterebilirsiniz.
AsyncImage(url: URL(dize: )!)
content
argümanını ekleyerek görüntü çıktınısı özelleştirebilir, placeholder
kullanarak ise resmin boyutunu ayarlayabilirsiniz.
Ayrıca AsyncImagePhase
ile birlikte farklı durumlardaki çıktıları özelleştirebilirsiniz.
Liste içi Aramalar Artık Mümkün
Önceki versiyonlarda SwiftUI listelerinde arama özelliği eksikti, iOS 15 ile birlikte searchable
özelliği listeler için mevcut hale geliyor.
Önemli bir nokta, bir listeyi searchable
olarak işaretlemek için NavigationView
içerisinde kullanmamız şart.
Bir kaç detaydan daha bahsedelim :
searchable
bir dizi arama önerisi belirlemenizi sağlar. Kısaltmaları otomatik tamamlamak içinsearchCompletion
kullanabilirsiniz.placement
otomatik olarak ayarladığımızda, arama çubuğunun konumunu otomatik olarak en uygun yere konumlandırır.
Arama sonuçlarını göstermek için az önceki gibi bir yöntem uygulayabiliriz ya da sonuçları gerçek zamanlı olarak da gösterebiliriz. (aşağıdaki örnek gibi)
Listelerde Kaydırma Aksiyonları
Sil, arşivle gibi basit eylemleri hızlıca gerçekleştirmek için kullanılan kaydırma aksiyonları oldukça ihtiyaç duyulan bir yenilikti. iOS 15 ile gelen swipeActions
ile artık mümkün!
Kaydırma aksiyonlarının nasıl eklendiğine bir göz atalım!
Kaydırma işlemleri varsayılan olarak soldan sağa şeklindedir, fakat bunu değiştirmek mümkün.
.swipeActions(edge: .leading)
Ayrıca hem soldan, hem de sağdan açılacak şekilde birden fazla aksiyon da eklemek oldukça kolay.
Yepyeni Material Yapısı
Material yapısı, görünümlere yarı saydamlık ve canlılık ekleyerek ön plan öğelerini arka planla harmanlamak için kullanılır. Kullanımı aşağıdaki gibi:
.background(.regularMaterial)
.background(.thinMaterial)
.background(.ultraThinMaterial)
.background(.thickMaterial)
.background(.ultraThicknMaterial)
İsteğe bağlı olarak, aşağıda gösterildiği gibi Material
bir görünüm de ayarlayabilirsiniz:
Özetle SwiftUI görünümlerinizi görsel olarak bulanıklaştırmak için iyi bir alternatif.
Hata Ayıklama (Debugging)
SwiftUI artık görünüm hiyerarşisinde hata ayıklamak için yerleşik destek sağlıyor.
view body
içerisinde aşağıdaki fonksiyonu çağırmak, son çalıştırmada değiştirilen SwiftUI görünümlerini yazdırır.
let _ = Self._printChanges()
Sonuç
Bu makalede, WWDC 2021’de duyurulan belli başlı SwiftUI özelliklerinden bazılarını gördük. Henüz beta sürecinde olan bu özellikleri test edip deneyimleyebilirsiniz. Keyifli okumalar! Ayrıca makalenin orijinal haline buradan ulaşabilirsiniz.
iOS Geliştirme tarafında oldukça yeniyim ve her geçen gün kendimi geliştirmeye çalışıyorum. Makale hakkında soru ya da geri bildirimler için bana ulaşabilirsiniz.
Twitter | LinkedIn | Instagram