問題タブ [hstack]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
3 に答える
38442 参照

ios - swiftUIでHStack要素間の間隔を調整するには?

私はスペーサー(minLength:5)を追加しましたが、テキスト間の間隔を指定できるminlengthがかかります。参照用にスクリーンショットを添付しました。内部の hstack 間の間隔を狭めたいと考えています。

ここに画像の説明を入力

0 投票する
2 に答える
7313 参照

picker - SwiftUI - HStack で 2 つのピッカーを並べて配置してもピッカーのサイズが変更されない

私の目標は、2 つのピッカーを横に並べて配置し、各ピッカーが画面の半分の幅を占めるようにすることです。画面の幅に収まり、同じ幅の 2 つのコンポーネントを持つa を想像してみてくださいUIPickerView。これが、私が SwiftUI で再作成しようとしているものです。

SwiftUI のピッカーは現在複数のコンポーネントを許可していないため、私にとって明らかな代替手段は、2 つのピッカーを .xml 内に配置することでしたHStack

テスト プロジェクトのコード例を次に示します。

そして、ここにキャンバスがあります:

SwiftUI - HStack のピッカー

ピッカーは、私が期待するように画面の幅の半分にサイズ変更されません。それらはサイズを保持し、代わりにコンテンツ ビューの幅を引き伸ばし、その過程で他の UI 要素の幅をゆがめます (これは、他のプロジェクトでこれを試みたときにわかりました)。

必要な効果を得るために使用できることはわかっていますUIViewRepresentableが、これを使用しようとしている目的の複雑さを考えると、SwiftUI の方がはるかに使いやすいでしょう。

2 つのピッカーを の中に配置HStackしてもサイズが適切に変更されないのはバグですか? それとも、SwiftUI のピッカーの幅が固定されていて変更できないのでしょうか?


アップデート

を使用しGeometryReaderて、ピッカーのサイズを希望どおりに変更することに成功しましたが、完全にはできませんでした。

補足: を使用せずGeometryReaderに、各ピッカーのフレームを に設定するだけで、これと同じ不完全な結果を実現することもできます.frame(minWidth: 0, maxWidth: .infinity, minHeight: 0, maxHeight: .infinity)

コード例は次のとおりです。

そして、ここにキャンバスがあります:

GeometryReader を使用した HStack のピッカー

ピッカーは私が望む外観に近づいていますが、サイジングはまだわずかにずれており、真ん中で互いに重なっています.