私は最初の iOS 14 ウィジェットに取り組んでいます。ウィジェットはほとんどが静的で、アニメーションなどの動的コンテンツを表示できないことはわかっています。しかし、ウィジェット内のビューのレイアウト/数を変更することは可能ですか?
私はSwiftUIが初めてなので、ビューのコンテンツを変更する方法がわかりません。
環境:
ウィジェットが最大 5 つのエントリのボタン/リンクを表示する ToDo アプリを想定します。ただし、現在アプリに 3 つのエントリしかない場合、ウィジェットにはもちろん 3 つのリンクのみが表示されます。
アプリはすでに今日のウィジェットを提供しています。ここでは、固定数のエントリ (たとえば 5) のコントロール (ボタン) をウィジェット ビューに追加するだけで問題を解決しました。より少ないエントリを表示する必要がある場合、未使用のコントロールは、ウィジェットがそのビューを更新するときに単純に非表示になります。
SwiftUI で固定数のエントリ (リンク) を持つウィジェット ビューを作成することは問題ありません。しかし、未使用のビューを非表示/削除するにはどうすればよいですか?
SwiftUI では、ビューはsome View
変数であり、コンテンツを動的に変更する方法がわかりません。
struct MyEntryView: View {
var body: some View {
Hstrack {
// Item 1
// Item 2
...
// Item n
}
}
}