構造体


ProgressView


タスクの完了に向けた進捗状況を示すビュー。





宣言


struct ProgressView<Label, CurrentValueLabel> where Label : View, CurrentValueLabel : View



概観


進行状況ビューを使用して、タスクが完了に向けて進行中であることを示します。進行状況ビューでは、進行状況の確定 (完了率) と不確定 (進行中かどうか) の両方の型を表示できます。


進行状況を示す数値とタスクの完了を表す total 値への結束を使用して ProgressView を初期化することにより、確定的な進行状況ビューを作成します。デフォルトでは、進行状況は 0.0 で、合計は 1.0 です。


以下の例では、状態プロパティの progress (進行状況) を使用して、確定した ProgressView に進行状況を表示します。進行状況ビューはデフォルトの合計 1.0 を使用し、progress は初期値 0.5 で始まるため、進行状況ビューは半分完了した状態から始まります。進行状況ビューの下にある [More(その他)] ボタンを使用すると、ユーザは進行状況を 5% ずつ増やすことができます。

@State private var progress = 0.5


VStack {

ProgressView(value: progress)

Button("More", action: { progress += 0.05 })

}

不確定な進行状況ビューを作成するには、進行状況の値をとらないイニシャライザを使用して下さい。

var body: some View {

ProgressView()

}

Progress ビューのスタイリング


ProgressViewStyle プロトコルに準拠するスタイルを作成することにより、進行状況ビューの外観と相互作用をカスタマイズできます。ビュー内のすべての進行状況ビューインスタンスに特定のスタイルを設定するには、 progressViewStyle(_:) 修飾子を使用します。以下の例では、カスタムスタイルにより、囲んでいる VStack 内のすべての進行状況ビューに濃い青色の陰影が追加されます。

struct ShadowedProgressViews: View {

var body: some View {

VStack {

ProgressView(value: 0.25)

ProgressView(value: 0.75)

}

.progressViewStyle(DarkBlueShadowProgressViewStyle())

}

}


struct DarkBlueShadowProgressViewStyle: ProgressViewStyle {

func makeBody(configuration: Configuration) -> some View {

ProgressView(configuration)

.shadow(color: Color(red: 0, green: 0, blue: 0.6),

radius: 4.0, x: 1.0, y: 2.0)

}

}

トピックス




不確定な進行状況ビューの作成




確定した進行状況ビューの作成




構成からの進行状況ビューの作成




進行状況ビューのスタイリング




標準の修飾子の適用




デフォルトの実装


View の実装



関連




以下への準拠


View



以下も見よ




値の指標


















目次
Xcode の新機能

利用可能

iOS 14.0+
iPadOS 14.0+
macOS 11.0+
Mac Catalyst 14.0+
tvOS 14.0+
watchOS 7.0+

フレームワーク

SwiftUI

このページには

  • 宣言
  • 概観
  • トピックス
  • 関連
  • 以下も見よ












  • トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ












    トップへ