Dynamic ContentSize TableView
2682 ワード
射手がいなければ、自分で良いコードをたくさん探すことができます.
そのソースコードを探すのは少し難しいですが、多彩なプロジェクトコードをもっと見なければなりません.
シナリオやブログ記事のような細かいコードブロックはもちろん役に立ちますが、視野を広げるためには、プロジェクトファイルを多く見るべきだと思います.
昔の私は...心血を注いだが、何の役にも立たない努力ではない.
その時は何を言っているのかさっぱり分からず、ついて行った.
私について、私の記憶について頭の中に残って、記憶を追跡して、再びコードを解きました.
同様にカスタマイズされたTableビューに適用すればよく、
文字通り、
トップテールリーディングは自分の好きな場所で
重要なのは高さと底のアンカー!!!
いつものように
ダイナミックなので
あの...Table Viewユニットを展開...まだ...うまくいかなかった...うまくいかなかった...なんだろう…レイアウトがおかしいだけ...底部が拡張を遮られたら...だから^^この方法を使いました.
では、また.
そのソースコードを探すのは少し難しいですが、多彩なプロジェクトコードをもっと見なければなりません.
シナリオやブログ記事のような細かいコードブロックはもちろん役に立ちますが、視野を広げるためには、プロジェクトファイルを多く見るべきだと思います.
昔の私は...心血を注いだが、何の役にも立たない努力ではない.
その時は何を言っているのかさっぱり分からず、ついて行った.
私について、私の記憶について頭の中に残って、記憶を追跡して、再びコードを解きました.
Code
class DynamicCollectionView: UICollectionView {
var isDynamicSizeRequired = false
override func layoutSubviews() {
super.layoutSubviews()
if !__CGSizeEqualToSize(bounds.size, self.intrinsicContentSize) {// intrinsic size가 원래 컨텐츠 사이즌가벼
if self.intrinsicContentSize.height > frame.size.height {
self.invalidateIntrinsicContentSize()
}
if isDynamicSizeRequired {
self.invalidateIntrinsicContentSize()
}
}
}
override var intrinsicContentSize: CGSize {
return contentSize
}
}
^以上のコードが参照するコードです.同様にカスタマイズされたTableビューに適用すればよく、
__CGSizeEqualToSize
は関数を使用せずに変更されます.文字通り、
CGSize
と同一か否かを比較する関数であり、この関数を用いる場合、==
はCGSize
には適用されないと推測される.==
記号を使ったコードをどこかで見たことがあります.そうだ、IGlistKit...それもすぐに見てclass DynamicHeightTableView: UITableView {
var isDynamicSizeRequired = false
override func layoutSubviews() {
super.layoutSubviews()
if bounds.size != self.intrinsicContentSize {
if self.intrinsicContentSize.height > frame.size.height {
self.invalidateIntrinsicContentSize()
}
}
if isDynamicSizeRequired {
self.invalidateIntrinsicContentSize()
}
}
override var intrinsicContentSize: CGSize {
return contentSize
}
}
上記の部分を除いては同じですUsage
// MARK: View Components
let tableView: DynamicHeightTableView = {
let table = DynamicHeightTableView()
table.isDynamicSizeRequired = true
// register cell
table.register(UITableViewCell.self,
forCellReuseIdentifier: "cell")
return table
}()
Anchorサーカストップテールリーディングは自分の好きな場所で
重要なのは高さと底のアンカー!!!
いつものように
equalTo
を使ってはいけません.ダイナミックなので
greaterThanOrEqualToConstant
を使用これをどこに使いましたか。
あの...Table Viewユニットを展開...まだ...うまくいかなかった...うまくいかなかった...なんだろう…レイアウトがおかしいだけ...底部が拡張を遮られたら...だから^^この方法を使いました.
では、また.
Reference
この問題について(Dynamic ContentSize TableView), 我々は、より多くの情報をここで見つけました https://velog.io/@heunb/Dynamic-ContentSize-TableViewテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol