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.mduzantı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.

ButtonRoleile 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, placeholderkullanarak 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 NavigationViewiçerisinde kullanmamız şart.

Bir kaç detaydan daha bahsedelim :

  • searchablebir dizi arama önerisi belirlemenizi sağlar. Kısaltmaları otomatik tamamlamak için searchCompletion 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