我想使用一些图标创建一个UITableView带标题标签和嵌入UICollectionView(它知道它的大小)UITableViewAutomaticDimension.UITableView当我在UICollectionView里面时,问题是找出细胞高度有问题.我必须滚动UITableView一下才能重新计算尺寸.但即便如此,它也存在高度问题(如果从较大的高度重复使用它会太大).除了UICollectionView乞讨之外,内部的图标不知道,但它们是从服务器加载的.
我也尝试为a创建一个高度约束UICollectionView,但是这样我得到"无法同时满足由冲突引起的约束",UIView-Encapsulated-Layout-Height并且我自己的约束无论如何都被删除了.
我已经创建了一个带有示例项目的GitHub存储库(我尽可能简单地完成了它):
我在 UITableViewCell 中有一个 UIView ,当用户点击“更少/更多”按钮时需要更改其高度
我的代码是
- (CGFloat)tableView:(UITableView *)tableView estimatedHeightForRowAtIndexPath:(NSIndexPath *)indexPath
{
return UITableViewAutomaticDimension;
}
Run Code Online (Sandbox Code Playgroud) objective-c uitableview ios ios-autolayout uitableviewautomaticdimension
我在自定义UITableViewCell类中有一个按钮。它显示/隐藏视图(同一单元格的一部分)。这样做时,单元格的高度应该改变。
这是按钮操作(在UITableViewCell自定义类中):
@IBAction func showHideCartView(sender: UIButton)
{
if sender.tag == 1
{
// Show cart view
self.buttonArrow.tag = 2
self.viewAddToCart.isHidden = false
self.constraint_Height_viewAddToCart.constant = 50
self.buttonArrow.setImage(UIImage(named: "arrowUp.png"), for: .normal)
}
else
{
// Hide cart view
self.buttonArrow.tag = 1
self.viewAddToCart.isHidden = true
self.constraint_Height_viewAddToCart.constant = 0
self.buttonArrow.setImage(UIImage(named: "arrowDown.png"), for: .normal)
}
self.setNeedsUpdateConstraints()
self.setNeedsLayout()
self.layoutIfNeeded()
}
Run Code Online (Sandbox Code Playgroud)
单元格的高度保持不变。只有当我滚动 UITableView 并重新访问单元格时,它的高度才会更新。