[解決済み] SwiftUIでビューを動的に隠す
2023-01-05 03:50:35
質問
を条件付きで非表示にしようとしています。
DatePicker
を条件付きで隠そうとしています。しかし、私は不一致の型に何らかの問題を抱えています。
var datePicker = DatePicker($datePickerDate)
if self.showDatePicker {
datePicker = datePicker.hidden()
}
この場合
datePicker
は
DatePicker<EmptyView>
型ですが
datePicker.hidden()
は
_ModifiedContent<DatePicker<EmptyView>, _HiddenModifier>
. ですから、私は
datePicker.hidden()
に
datePicker
. このバリエーションを試しましたが、うまくいく方法が見つからないようです。何かアイデアはありますか?
アップデイト
をアンラップすることができます。
_ModifiedContent
型を使って、その下にある型を取得することができます。
content
プロパティを使用して、基礎となる型を取得します。しかし、これでは根本的な問題は解決しません。そのため
content
プロパティは、元の、修正されていない日付ピッカーにしか見えません。
どのように解決するのですか?
動的に変数を設定し、それをビューで使用するのではなく、この方法で日付ピッカーを非表示または表示できることがわかりました。
struct ContentView : View {
@State var showDatePicker = true
@State var datePickerDate: Date = Date()
var body: some View {
VStack {
if self.showDatePicker {
DatePicker($datePickerDate)
} else {
DatePicker($datePickerDate).hidden()
}
}
}
}
あるいは、オプションで、日付ピッカーを隠す代わりに含めないようにすることもできます。
struct ContentView : View {
@State var showDatePicker = true
@State var datePickerDate: Date = Date()
var body: some View {
VStack {
if self.showDatePicker {
DatePicker($datePickerDate)
}
}
}
}
関連
-
[解決済み] Protocol ... can only be used as generic constraint because it has Self or associated type requirements "とは、どういう意味ですか?
-
[解決済み] クラス 'ViewController' は swift で初期化されません。
-
[解決済み] タスクが終了するまで待機する
-
[解決済み] Swiftスクリプトでターミナルコマンドを実行するには?(例:xcodebuild)
-
[解決済み] Swift で UIViewController のサブクラス用のカスタムイニシャライザを作るには?
-
[解決済み] SwiftUIで条件付きでビューを使用する
-
[解決済み] ラウンドトリップスウィフト番号の種類は、データとの間で
-
[解決済み] カスタムイニシャライザを持つSwift enumはrawValueイニシャライザを失う
-
[解決済み] Swiftでオプショナルをダウンキャストする:as? タイプ、または as! タイプ?
-
[解決済み] SwiftUI のテキストのフォントサイズをカスタマイズする
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Swiftで1つのビューコントローラの向きを縦向きのみに固定する方法
-
[解決済み] Swift 3でカスタム通知を作成するには?
-
[解決済み] Swift: インデックスで文字列配列を置換する
-
[解決済み] swiftにおける "precondition "と "assert "の違いとは?
-
[解決済み] Swiftの変数に"?"(クエスチョンマーク)と"!"(エクスクラメーションマーク)の装飾を施す。
-
[解決済み] Xcode 8.3 betaの「String interpolation produces a debug description for an optional value; did you mean to make this explicit?
-
[解決済み] SwiftUIのForEachでインデックスを取得する
-
[解決済み] Optional Boolの値をチェックする
-
[解決済み] カスタムイニシャライザを持つSwift enumはrawValueイニシャライザを失う
-
[解決済み] Swiftでクラスメソッド/プロパティを作成するには?