[解決済み] UICollectionViewの高さを、UICollectionViewのコンテンツサイズの高さに調整するには?
質問
UICollectionView(赤い方)をコンテンツサイズ(この場合はUICollectionViewCells(黄色い方))の高さまで縮小したいのですが、空白部分が多いので、どうしたらいいでしょうか?私が試したのは、使用することです。
override func layoutSubviews() {
super.layoutSubviews()
if !__CGSizeEqualToSize(bounds.size, self.intrinsicContentSize) {
self.invalidateIntrinsicContentSize()
}
}
override var intrinsicContentSize: CGSize {
return self.collection.contentSize
}
しかし
return self.collection.contentSize
は常に(width, 0)を返します。
を返すため、height30(XIBファイルでheightに設定した値、constaint >=30にしていますが)の値まで縮みすぎてしまいます。
どのように解決するのですか?
以下をお勧めします。
- コレクションビューに高さ制約を追加します。
- その優先順位を999に設定します。
- その定数を、ストーリーボード上で適度に見えるようにする任意の値に設定します。
- コレクションビューのボトムイコール制約をgreater or equalに変更します。
- 高さ制約をアウトレットに接続します。
- コレクションビューのデータを再読み込みするたびに以下を実行します。
また、コンテンツサイズに追加することで、コレクションビューのInsetを考慮することができます。
コードサンプルです。
CGFloat height = myCollectionView.collectionViewLayout.collectionViewContentSize.height
heightConstraint.constant = height
self.view.setNeedsLayout() Or self.view.layoutIfNeeded()
説明します。おまけ、理解できたら読まなくていいんだよ。
UIは、制約の優先順位がどうであれ、すべての制約を反映しようとします。の優先順位が低い高さ制約があるため、UIはすべての制約を反映しようとします。 (999) 高さ制約定数が親ビューの高さより小さい値に設定される場合は常に、コレクションビューは与えられた高さに等しくなり、両方の制約を達成します。
しかし、高さの制約定数が親ビューの高さよりも大きい値に設定された場合、両方の制約を達成することはできません。したがって、より高い優先順位を持つ制約のみが達成され、それは大きいか等しい底の制約です。
以下は、あくまで経験からの推測です。つまり、1つの制約を実現しています。しかし、さらに、その制約を実現するために エラー を、もう一つの達成されていない優先順位の低い制約のために、結果のUIで できるだけ低い . したがって、コレクションビューの高さは、親ビューのサイズと同じになります。
関連
-
[解決済み] キーボードがあるときに、UITextFieldを編集開始時に上に移動させるには?
-
[解決済み] UITableViewの選択を無効にするにはどうすればよいですか?
-
[解決済み] Objective-CでNSNotificationCenterを通してメッセージを送受信する?
-
[解決済み] UITextViewのサイズをコンテンツに合わせるには?
-
[解決済み] Swift で HTTP リクエストを行うにはどうしたらいいですか?
-
[解決済み] UITextBorderStyleNoneを使用してUITextFieldのパディングを設定する
-
[解決済み] Swiftで配列に要素を追加する
-
[解決済み】iOSアプリの名前を変更する方法は?
-
[解決済み】UIScrollView Scrollable Content Size Ambiguity
-
[解決済み】テキストに応じてUILabelの高さを調整する。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Objective-Cで、ある文字列が他の文字列を含んでいるかどうかを調べるにはどうすればよいですか?
-
[解決済み] 文字列の長さを取得する
-
[解決済み] App Storeのアプリと連動させる方法
-
[解決済み] Xcode 6のバグ:Interface Builderファイル内の不明なクラス
-
[解決済み] UITextViewのマージン/パディングをなくす方法
-
[解決済み] NSOperationとGrand Central Dispatchの比較
-
[解決済み] UILabelで複数行のテキストを表示する
-
[解決済み] iOSで現在のデバイスの言語を取得するには?
-
[解決済み] Swift で HTTP リクエストを行うにはどうしたらいいですか?
-
[解決済み] UICollectionViewのラベル幅に応じた動的なセル幅の設定