2016-09-07 16 views
3

フォームを使用してiOSアプリケーションを構築していますが、stackviewsを使用しています。これは私が達成したいものの例です: Example stackviewiOSスウィフトでのコントロールの割合の表示のスタックビューの配置

テキストボックスとボタンは水平スタックビューの一部です。私が必要とするのは、パーセンテージのような幅をそれらに割り当てる方法です。たとえば、テキストボックスはスタックビューの総幅の80%を占め、ボタンは20%を占めます。

Stackviewの配置と配布プロパティが 'fill'に設定されています。

ボタンに幅の制約を追加しようとしましたが、画面のサイズによって幅が違うという感じがしました。

+0

明確にするために、基本的に静的なレイアウトの場合は水平スタックビューを使用しています。つまり、常にこの2つのアイテムを表示しています。 –

答えて

1

あなたはUIStackViewDistributionFillProportionally設定を探しています。

これは、ビューの本質的なコンテンツサイズの間の比率を実際のサイズの比率として使用します。したがって、80%から20%の間、1つのビューを80の幅に、1つのビューを20の幅に広げます(それぞれのintrinsicContentSizeオーバーライドで)。これらは80から20の割合でサイズ変更されます。

+0

これはときどき役立ちますが、固定幅であることを保証するものではありません。テキストボックスでコンテンツが拡大されると、ボタンが短くなります。 –

+0

@RujootaShahそれが起こっている場合は、本来のコンテンツサイズを正しく上書きしていないように思えます。 – matt

関連する問題