日20 - 22 : Swiftuiの100日-旗(プロジェクト2)を推測してください
15618 ワード
https://www.hackingwithswift.com/100/swiftui/20
https://www.hackingwithswift.com/100/swiftui/21
https://www.hackingwithswift.com/100/swiftui/22
ゲスフラグプロジェクトは、スタック、画像、色、グラデーション、および警告を含むSwiftuiビューの別のセットを紹介します.
複数のビューをレンダリングする場合は便利です.
これを使用して、2つ以上のビューを配置します.
これは
Zstackは、ビューを重ねることでビューをオーバーラップするためのものです.
色はビューそのものです.色が自動的に利用可能なすべてのスペースを取る.
使用する勾配には3種がある.
線形勾配は一方向に行く.
放射状勾配は円形状で外側に動く
角度グラデーションサイクルは、円の周りの色ではなく、外側に放射し、いくつかの美しい効果を作成することができます.
ボタンを見てカスタマイズすることができますいくつかの異なる方法があります.最初は
アラートはビュー上の別の修飾子として存在します.ビューは、表示されるべきかどうかを知るためにある特定の状態にバインドされます.
ユーザーのスコアを格納するために@状態のプロパティを追加し、それが正しいか間違っているときに、それを変更し、アラートとスコアラベルでそれを表示します. 誰かが間違ったフラグを選択すると、彼らにあなたの警告メッセージの間違いを教えてください-例えば、“間違っている!フランスの旗は、”. ゲームは、彼らのスコアを判断し、最終的な警告を参照してくださいゲームを再起動することができます参照してください8の質問だけを確認します.
Github
https://www.hackingwithswift.com/100/swiftui/21
https://www.hackingwithswift.com/100/swiftui/22
ゲスフラグプロジェクトは、スタック、画像、色、グラデーション、および警告を含むSwiftuiビューの別のセットを紹介します.
スタックを使用してビューを配置する
複数のビューをレンダリングする場合は便利です.
vstack
これを使用して、2つ以上のビューを配置します.
var body: some View {
VStack {
Text("Hello, world!")
Text("This is inside a stack")
}
}
ビュー間の間隔を追加できます.また、VStack
とHStack
プロパティを使用して配置できます.VStack(alignment: .leading, spacing: 20) {
Text("Hello, world!")
Text("This is inside a stack")
}
スタック
これは
ZStack
と同じです.HStack(spacing: 20) {
Text("Hello, world!")
Text("This is inside a stack")
}
Zstack
Zstackは、ビューを重ねることでビューをオーバーラップするためのものです.
ZStack {
Text("Hello, world!")
Text("This is inside a stack")
}
色とフレーム
色はビューそのものです.色が自動的に利用可能なすべてのスペースを取る.
spacing
修飾子を使用して特定のサイズを設定します.ZStack {
Color.red
.frame(width: 200, height: 200)
Text("Your content")
}
また、最小と最大の幅と高さを指定することができます.Color.red
.frame(minWidth: 200, maxWidth: .infinity, maxHeight: 200)
勾配
使用する勾配には3種がある.
線形勾配
線形勾配は一方向に行く.
LinearGradient(gradient: Gradient(colors: [.white, .black]), startPoint: .top, endPoint: .bottom)
また、グラデーションの停止を提供することができます、あなたの色を指定し、どのくらいのグラデーションに沿って色を使用する必要があります.LinearGradient(gradient: Gradient(stops: [
Gradient.Stop(color: .white, location: 0.45),
Gradient.Stop(color: .black, location: 0.55),
]), startPoint: .top, endPoint: .bottom)
放射勾配
放射状勾配は円形状で外側に動く
RadialGradient(gradient: Gradient(colors: [.blue, .black]), center: .center, startRadius: 20, endRadius: 200)
角度勾配
角度グラデーションサイクルは、円の周りの色ではなく、外側に放射し、いくつかの美しい効果を作成することができます.
AngularGradient(gradient: Gradient(colors: [.red, .yellow, .green, .blue, .purple, .red]), center: .center)
ボタンとイメージ
ボタンを見てカスタマイズすることができますいくつかの異なる方法があります.最初は
alignment
です.Button("Delete selection", role: .destructive){}
第二に、我々はボタンのビルトインスタイルの1つを使用することができますVStack {
Button("Button 1") { }
.buttonStyle(.bordered)
Button("Button 2", role: .destructive) { }
.buttonStyle(.bordered)
Button("Button 3") { }
.buttonStyle(.borderedProminent)
.tint(.mint)
Button("Button 4", role: .destructive) { }
.buttonStyle(.borderedProminent)
}
ラベルをカスタマイズするか、またはVStack
を使用する場合は、2番目の末尾の閉鎖を使用できます.VStack {
Button {
print("Button was tapped")
} label: {
Text("Tap me!")
.padding()
.foregroundColor(.white)
.background(.red)
}
Button {
print("Edit button was tapped")
} label: {
Image(systemName: "pencil")
}
Button {
print("Edit button was tapped")
} label: {
Label("Edit", systemImage: "pencil")
}
}
警告メッセージの表示
アラートはビュー上の別の修飾子として存在します.ビューは、表示されるべきかどうかを知るためにある特定の状態にバインドされます.
@State private var isShowingAlert = false
var body: some View {
Button("Show Alert") {
self.isShowingAlert = true
}
.alert("Important message", isPresented: $isShowingAlert) {
Button("Cancel", role: .cancel) { }
Button("Delete", role: .destructive) { }
} message: {
Text("Please read this.")
}
}
アプリチャレンジ
出力
ソースコード
Github
Reference
この問題について(日20 - 22 : Swiftuiの100日-旗(プロジェクト2)を推測してください), 我々は、より多くの情報をここで見つけました https://dev.to/johnkevinlosito/day-20-22-100-days-of-swiftui-guess-the-flag-project-2-57l5テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol