1つのセルに異なるコンテンツ(ビュー、ラベル、イメージビュー)を持つtableViewセルがあります。しかし、何かの細胞内容は満ちていないことがあります。どのようにして、常に制約を削除したり追加したりせずにサイズ変更セルを使用できますか?ありがとう。iOSの制約を削除せずに異なるコンテンツのtableViewセルをサイズ変更する方法
答えて
この問題の可能な解決策の一つ:
- 優先千
- に隠された状態の制約を追加します。優先度の低いである(例:750)
- 保存制約をリサイズした状態のための余分な制約を追加します。を隠し状態にする
IBOutlet
コレクション - 制約を保存するを別のものに変更
IBOutlet
コレクション
コード:
@IBOutlet var hiddenConstraints: [NSLayoutConstraint] = []
@IBOutlet var visibleConstraints: [NSLayoutConstraint] = []
func hide(_ hide: Bool) {
for hiddenConstraint in self.hiddenConstraints {
hiddenConstraint.isActive = hide
}
for visibleConstraint in self.visibleConstraints {
visibleConstraint.isActive = !hide
}
self.layoutIfNeeded()
}
速く解決策があります:コンテナビュー
- 移動量が隠されている場合はコード高さの制約定数から0に、可視の場合は適切な高さに
コード:それは制約につながるよう
@IBOutlet var heightConstraint: NSLayoutConstraint!
func hide(_ hide: Bool) {
self. heightConstraint.constant = hide ? 0 : 150 //Estimated height
self.layoutIfNeeded()
}
これは、良い方法ではありませんが、実行時にクラッシュします。だから私は最初のものを使うのが好きです。
また、他のセルを上下に移動するには、テーブルからセルを更新する必要があります。
ありがとう、よく働いた –
レイWenderlichはここで見つけることができますテーブルセルの動的なサイズ変更に素晴らしいチュートリアルがあります。 https://www.raywenderlich.com/129059/self-sizing-table-view-cells
TLを、DRは、あなたがあなたのセルの内容がすべての4つの側面に固定されていることを確認する必要がありますセルのコンテンツビューに加えて、ラベルの高さの制約以上の高優先垂直ハギングとして設定することができます。
問題はビューに2つの状態があります。そして、それが非表示でないときは、高さとすべての制約があり、セルを小さくすることはできません –
隠すと言うとき、私はあなたが 'hidden'プロパティを設定していると仮定しますか?代わりに高さ制約のコンセントを追加し、非表示にするには0に設定してください。次に、セルのサイズが期待どおりに変更されます。 –
再び制約を使用して作業します。あなたが言うように、私はこの項目で店舗を作る必要があり、0 –
- 1. IOSアプリケーション異なる画面サイズに合わせてコンテンツを自動サイズ変更
- 2. Swiftの異なるTableViewセルのボタンに異なるタグを与える方法
- 3. tableViewからセルを削除する
- 4. ブラウザでコンテンツのサイズを変更せずにフレックスサイズを変更する
- 5. JS - コンテンツを削除せずにタグを削除する
- 6. 変更制約 - iOSのスウィフト
- 7. TableView、セルのデフォルトの青色を変更する方法
- 8. iosでtableviewのすべてのセルをオフにする方法
- 9. スウィフトで異なる画面サイズのコンテンツのサイズ変更/整列
- 10. サイズ変更後に黒い背景を削除する方法
- 11. 内容を変更せずに要素のサイズを変更する方法。 CSS
- 12. 同じTableview内の異なるボタンを変更する操作上のセル(Swift)
- 13. 制約を落としたり再作成せずにOracleにカスケード削除を実行させる方法
- 14. JavaFX - SVGパスをTableView内で右にサイズ変更する方法
- 15. プログラムで、tableview swiftで余分なセルとセパレータを削除する方法2.2
- 16. 異なるサイズのクラスに対して異なる制約を設定する方法
- 17. 削除時にuitableviewセルの内部ラベルのサイズ変更を回避する
- 18. PL/SQLでトリガの制約を削除する方法は?
- 19. iframeコンテンツを再生せずに予約する方法
- 20. テーブルビューのセルiOSを削除する方法
- 21. ボタンアクションでTableViewからセルを削除すると、アプリがクラッシュする - iOS Swift
- 22. $ templateCacheを使用せずにui-gridで集約行を削除する方法
- 23. セル内の画像ビューの制約をプログラムで変更する
- 24. テーマappceleratorを変更せずにタイトルバーを削除するには?
- 25. 削除後にセルの背景を更新する方法
- 26. フッタのコンテンツにマッチするテーブルビューのセルのストーリーボードの制約
- 27. divサイズを変更せずにdiv内の画像のサイズを変更する方法
- 28. MKAnnotationを削除せずにMKAnnotationビューを変更する
- 29. セルに元の内容を削除せずに変数を割り当てる
- 30. サイズ変更せずにウィンドウ幅の変化を検出する方法
ここにあなたを助けるかもしれない何か - http://stackoverflow.com/questions/18065938/how-to-use-auto-layout-to-move-other-views-when-a-view-is-hidden –
私はこれをチェックします。ここでは制約がありますが、非常に多くの要素があり、これを行うには非常に多くのコードが必要です。 –