2017-01-10 5 views
0

UIStackViewUITableViewCellの中に3つのサブビューで置き、等しく塗りつぶすように選択しました。UITableViewCell内のUIStackViewが期待どおりに動作していません

iPhone 7のプレビューではうまく見えますが、小さい画面では自動レイアウトの制約が崩れているようです。スタックビューの幅は、画面の幅よりも大きくなっています。

enter image description here

enter image description here

私は何をしないのですか?

答えて

0

cellForRowAtメソッドで各セルのスタックビューでstackview.layoutIfNeeded()を実行してみてください。また、スタックビューに追加するビューに制約を追加していますか?コードを使用している場合はnewView.widthAnchor.constraint(equalToConstant: (UIScreen.main.bounds.width/3)).isActive = trueと言うことができます(その間にスペースが必要ないと仮定して)正しいサイズを確保してください。

+0

私はテーブルビューのセルにスタックビューを持っていますが、プログラムでビューを追加していますが、複数のビューを追加する方法がいくつかあります。私は別のビューをプログラムに依存する条件を追加する必要があります。これに対する解決策はありますか? –

+0

私はスタックビューをテーブルビューのセルに持っていますが、スタックビューにプログラムでビューを追加していますが、複数のビューを追加する方法がいくつかあります。私は別のビューをプログラムに依存する条件を追加する必要があります。これに対する解決策はありますか? 1つのセルをスタックに1ビュー、もう1つのセルスタックに2つのビューを追加してランダムビューを追加すると、私は新しい追加する前にcellforrowatindexのすべてのサブビューを削除しましたが、正しく機能しません。 –

0

あなたの問題は明らかにuistackviewの制約ではなく、テーブル自体にあります。

テーブルビューの先頭と末尾の制約を追加してください。正常に動作します。

関連する問題