我有一個UITableView
,使用UITableViewAutomaticDimension
和AutoLayout約束自身大小的單元高度。在原型細胞之一,我需要添加UICollectionView
與UICollectionViewFlowLayout
將垂直佈局單元格在緊湊型類或3列常規尺寸類的網格一列。集合視圖的高度因此是動態的,即使在iPhone 6 Plus(Compact-> Regular)上旋轉,佈局也可能會改變。可變高度CollectionView在iOS8中使用AutoLayout自動調整大小的TableView單元內部+
我在故事板中設置了自定義原型單元格的tableview,並將自定義collectionview添加到原型單元格中,AutoLayout約束始終爲零到超視圖的對應邊緣(前導,尾隨,頂部,底部= 0到超級視圖)。 .. collectionView-> tableviewContentView-> tableviewCell。
我所需要的集合視圖的可變高度來驅動的tableview原型細胞的高度。到目前爲止,我總是在運行時遇到以下AutoLayout錯誤。
Warning once only: Detected a case where constraints ambiguously suggest a height of zero for a tableview cell's content view. We're considering the collapse unintentional and using standard height instead.
你能否建議正確的方法呢?謝謝!
主要TableViewController:
class TableViewController: UITableViewController {
override func viewDidLoad() {
super.viewDidLoad()
tableView.estimatedRowHeight = 200.0
tableView.rowHeight = UITableViewAutomaticDimension
}
/// ... plus tableview datasource functions
}
的CollectionView:
class AttachmentCollectionView: UICollectionView, UICollectionViewDataSource, UICollectionViewDelegate {
override func awakeFromNib() {
let nib = UINib(nibName: Constants.AttachmentCollectionView.cellNibName, bundle: nil)
registerNib(nib, forCellWithReuseIdentifier: Constants.AttachmentCollectionView.cellIdentifier)
collectionViewLayout = attachmentFlowLayout()
dataSource = self
delegate = self
backgroundColor = UIColor.whiteColor()
}
private func attachmentFlowLayout() -> UICollectionViewFlowLayout {
let layout = UICollectionViewFlowLayout()
layout.scrollDirection = .Vertical
layout.itemSize = CGSize(width: 70, height: 50)
layout.sectionInset = UIEdgeInsets(top: 0.0, left: 0.0, bottom: 0.0, right: 0.0)
layout.minimumLineSpacing = 0.0
layout.minimumInteritemSpacing = 0.0
layout.headerReferenceSize = CGSizeMake(0.0, 0.0)
layout.footerReferenceSize = CGSizeMake(0.0, 0.0)
return layout
}
// ...plus collectionview datasource functions
}
如果你用完它,那麼你可以給我演示代碼吧,我有表視圖5節,最後一節一排有一個集合視圖,沒有滾動,我想它的動態動態大小表格單元大小 – RaviJSS