Gösterge görünümü ile ilerleme görünümünüzü hızlandırın
Gauge , geliştiricilerin bir aralık içinde bir değer göstermesine yardımcı olmak için Apple tarafından sunulan yeni bir SwiftUI Görünümüdür. Yarım daire biçimli bir Apple widget'ı düşünüyorsanız, haklısınız! Widget'larınızın veya WatchOS komplikasyonlarınızın yarı dairesel görünümü artık bir Gösterge Görünümü ile yeniden üretilebilir . Nasıl çalıştığını görelim.
Bir ana detay uygulaması geliştirdiğinizi hayal edin; istatistik serisine sahip bir nesne listeniz var ve ayrıntılı görünümde, istatistikleri bir ilerleme görünümüyle, belki dairesel veya doğrusal olarak göstermek istiyorsunuz (evet, henüz bir Pokémon Uygulaması). Bir yüzde sayımız yok, ancak bir minimum (negatif bir değer veya farklı bir sıfır değeri de olabilir) ve bir maksimum değeri olan bir aralık içinde bir değerimiz var. İlerleme Görünümü ile Gösterge Görünümü arasındaki temel fark budur ; yani bir yüzde değerini yönetmek istiyorsak İlerleme Görünümü kullanabiliriz , bir aralık içinde bir değere sahipsek veya değeri belirli bir şekilde göstermek istiyorsak Gösterge Görünümü kullanabiliriz . Gösterge Görünümüönceden ayarlanmış bir stille, özel bir stille ve farklı etiketler ve renklerle özelleştirilebilir.
Gösterge Görünümünü çalışırken görelim:
Gauge(value: progress, in: mininumGaugeValue...maximumGaugeValue, label: {
Text("Title")
}, currentValueLabel: {
Text("Current value: \(progress.formatted())")
}, minimumValueLabel: {
Text(mininumGaugeValue.formatted())
}, maximumValueLabel: {
Text(maximumGaugeValue.formatted())
})
İlerleme Görünümü ile Gösterge Görünümü arasındaki farklardan biri stildir. Gösterge Görünümü , bir enumdan geçen görünüm stilini şu şekilde değiştiren gaugeStyle(_ style: S) değiştiricisine sahiptir:
Gauge(value: progress, in: minimumGaugeValue...maximumGaugeValue) {}
.gaugeStyle(.linearCapacity)
Bu, yeni Gösterge Görünümünün öne çıkan özelliğidir : özel bir GaugeStyle oluşturabilir ve bunu görünümünüze uygulayabilirsiniz. Aşağıdaki örnekte, GaugeStyle'ımızın @ViewBuilder içeriğiyle başlatıldığı örnek bir uygulama görebiliriz . Kodu görelim:
/// The `GaugeStyle` of the `OverallView`.
struct OverallGaugeStyle<Content: View>: GaugeStyle {
// MARK: - Properties
/// The `View` contained by the gauge.
var content: Content
/// The `LinearGradient` used to style the gauge.
private var gradient = LinearGradient(
colors:
[
Color(uiColor: AppAsset.background.color.withAlphaComponent(0.5)),
Color(uiColor: AppAsset.primary.color)
],
startPoint: .trailing,
endPoint: .leading
)
// MARK: - Init
/// The `init` of the `OverallGaugeStyle`.
/// - Parameter content: The `View` contained by the gauge.
init(@ViewBuilder content: () -> Content) {
self.content = content()
}
func makeBody(configuration: Configuration) -> some View {
VStack {
ZStack {
content
Circle()
.trim(from: 0, to: configuration.value * 0.75)
.stroke(gradient, style: StrokeStyle(lineWidth: 20, lineCap: .round))
.rotationEffect(.degrees(135))
.frame(width: 250, height: 250)
}
configuration.currentValueLabel
.fontWeight(.bold)
.font(.title2)
.foregroundColor(Color(uiColor: AppAsset.background.color))
}
}
}
configuration.currentValueLabel
Şimdi yapılacak tek şey, özel stili doğru değiştiriciyle şu şekilde ayarlamaktır:
Gauge(value: progress, in: minimumGaugeValue...maximumGaugeValue) {} currentValueLabel: {
VStack {
Text("\(model.title): \((model.value).formatted(.number))")
}
}
.gaugeStyle(OverallGaugeStyle {
...
})
Artık uygulamalarınızı bir aralık içinde bir değer göstermesi gerektiğinde tasarlamak için yeni bir Görünüme sahipsiniz. iOS'ta Gauge View ile tasarlayın ve keyfini çıkarın .
facebook.com'a bir talepte bulunduğunuzda, bilgisayarınız o bağlantıyı kurabilmesi için bu alan adını bir IP adresine çevirmek üzere alan adını arar.
Dilimiz, düşüncelerimizi, tutumlarımızı ve eylemlerimizi şekillendirebilen güçlü bir araçtır. Görünüşte zararsız terimler bile zararlı önyargıları ve klişeleri devam ettirebilir.
Belirsizliği önlemek için aşağıdaki terimler kullanılacaktır; Doğrulayıcı; Web sitesine giriş yapmak için kullanılan cep telefonu; Kullanıcının oturum açma isteği Hizmetini yapmak için kullandığı web sitesi veya uygulama; Verilen hizmeti sağlayan satıcı, örn.
Büyüdüğünde, dünyanın olduğu gibi olduğunu ve hayatının sadece dünyanın içinde yaşamak olduğunu, hayatını asla riske atmadan, sadece belirlenmiş bir yolu takip et ve sonunda öl ve ölmemeye çalış. duvarlara çok fazla vur. Ama bu çok sınırlı bir hayat.
Güneşin ilk ışınları düzlüklerdeki buzlu çimleri aydınlatırken, batının engebeli tepelerinde parıldayan altın rengi bir sabah. Simsiyah ve iri, sakin bir Angus sığır sürüsü, hepsinin iyi bildiği bir yere giden ıssız bir patikadan aşağı inerken güneşin doğuşuna karşı siluet oluşturuyor; kahvaltı barı.
Dün, İsveçli şarkıcı Loreen'in kupayı evine götürdüğü, iki kez kazanan ilk kadın olduğu ve ABBA'nın yarışmayı kazanmasından 50 yıl sonra tacı İsveç'e geri getirdiği ışıltılı, kaotik bir büyük finalle bu yılki Eurovision Şarkı Yarışması'nın kapısını kapattık. "Waterloo" ile. Pop müzik kanonundaki en büyük oyunculardan biri olmaya devam ettiler.