2 Aralık 2023

Tipkit - Yeni Swift Framework

201 2 ay önce

Evet arkadaşlar IOS 17 ile beraber yeni bir framework'e daha sahip olduk. Adının Tipkit olarak konulmuş olmasına bakmayın baya baya işe yarar bir hale gelebilir diye düşünüyorum.


Tabi henüz deneysel sürümünde olduğu için çeşitli buglara sahip bir framework.

Tipkit yapısı gereği kullanılarak tip dediğim bir nevi yardımcı olma amaçlı bazı tüyoların ekrana getirilmesini sağlıyor. Tabi bunun şu anki halinde çok fazla animasyon bulunmuyor ama yine de hoş bir yapısı var.

TipKit ile birlikte kullanılara giriş-kayıt ekranlarında bazı giriş ekranlarında detaylı bilgiler verebilirsiniz. Hani bir kullancı giriş formunda hangi karakterlerin geçerli olduğu gibi o meşhur (i) butonuna eş değer bir şey düşünebilirsiniz.

Yapısı gayet basit. Önce bir Tip Struct modeli oluşturuyorsunuz. Apple’ın kendi dokümanında şöyle bir model oluşturulmuş:


// Define your tip's content.
struct FavoriteLandmarkTip: Tip {
var title: Text {
Text("Save as a Favorite")
}


var message: Text? {
Text("Your favorite landmarks always appear at the top of the list.")
}


var image: Image? {
Image(systemName: "star")
}
}


Burada tipin başlığı, işte içindeki mesajı ve imajı gibi verileri girebiliyorsunuz.

(En Üstte import TipKit ile import etmeyi unutmayınız)

View kısmında da şöyle bir yapı ile entegre edebilirsiniz:


@main
struct LandmarkTips: App {
// Create an instance of your tip.
var favoriteLandmarkTip = FavoriteLandmarkTip()


var body: some Scene {
WindowGroup {
VStack {
// Place the tip view near the feature you want to highlight.
TipView(favoriteLandmarkTip, arrowEdge: .bottom)


Image(systemName: "star")
.imageScale(.large)
Spacer()
}
.task {
// Configure and load your tips at app launch.
try? Tips.configure([
.displayFrequency(.immediate),
.datastoreLocation(.applicationDefault)
])
}
}
}
}


Burada Vstack içine Tipview adı verilen yeni yapı ile daha önceden modellenen favoriteLandmarkTip direk giriş yapılabilir. Konumu verilebilir (.bottom gibi)
Sonrasında task içinde display özelliklerini de ekleyebilirsiniz.

Yine farklı bir örnekte:


import SwiftUI
import TipKit


// Define your tip's content.
struct SampleTip: Tip {
var title: Text {
Text("Save as a Favorite")
}


var message: Text? {
Text("Your favorite backyards always appear at the top of the list.")
}


var image: Image? {
Image(systemName: "star")
}
}


struct SampleView: View {
// Create an instance of your tip.
var tip = SampleTip()


var body: some View {
VStack {
// Place the tip view near the feature you want to highlight.
// Tips.configure(options:) must be called before your tip will be eligible for display.
TipView(tip, arrowEdge: .bottom)
Image(systemName: "star")
.imageScale(.large)
Spacer()
}
.padding()
}
}


Burada sample tipi oluşturduk.

Altta da ekran görüntüsünü inceleyebilirsiniz.


Page generated in 0.0161 seconds.
34.229.63.28