2017-11-26 6 views
0

ここでは、問題を説明する2つの画面を示します。ビュー内にScrollViewがあります。 ScrollView内にLavel + TextFieldがあります。 Label.leadingとTextField.trailingをScrollViewに制約している場合、TextFieldはサイズ変更されずに幅全体が占有されます。しかし、私はそれらを外部ビューに制約している場合、正しくサイズ変更されていることがわかりました。スクロールビューの制約事項

誰かがこれを説明することができますし、TextViewのサイズを変更するためのよりよい解決策がありますか?

(最初の画面でグレー表示制約がアンインストールされている)

enter image description here enter image description here

答えて

1

あなたのscrollviewはそれの内側のビューのいずれも正確なサイズを持っていないので、そのcontentSizeがどうあるべきかを知りません。

スクロールビュー内にUIViewを配置し、先頭、上端、後端および下端の制約をスクロールに設定し、その幅をviewControllerのメインビューと同じに設定し、正確な高さを設定するのが簡単な修正点です。

次に、ラベルとテキストフィールドをこのビューの内側に配置できます。

+1

ありがとう、私は今問題を理解していますが、その場合は私のソリューションは実際には余分なビューを導入していないので、より良いです。 label.leading = safeArea.leadingとtextField.trailing = safeArea.trailingを作成することで、実際にコンテンツの幅を設定しています。 – ssianky

関連する問題