我有原型单元的tableview,右侧有2个标签和图像
目前,如果我说10行数据,我会看到每行的图像。但我想只看到所选行上的图像而不是所有行。
所以一旦我选择一行,我希望图像出现
有人可以告诉我如何在Swift中完成这个任务吗?
我想也许最初我可以在属性检查器中禁用它,一旦选择了一行,只为该行启用它,而不是不确定如何做到这一点。
答案 0 :(得分:0)
您可以实现以下代码来实现
@implement CustomCell
- (void)awakeFromNib {
[super awakeFromNib];
[_imagevw setHidden:YES];
[_imageTopConstraint setActive:NO];
[_imageBottomConstraint setActive:NO];
}
- (void)setHighlighted:(BOOL)highlighted animated:(BOOL)animated{
[_imageTopConstraint setActive:YES];
[_imageBottomConstraint setActive:YES];
}
@end
如果所有设置都正确,上面的线就可以了。
您的桌面视图rowHeight
应为UITableViewAutomaticDimension
,estimatedRowHeight
为默认值
答案 1 :(得分:0)
您可以使用这一个快速代码来解决您的问题:
override func awakeFromNib() {
super.awakeFromNib()
imagevw.hidden = true
imageTopConstraint.active = false
imageBottomConstraint.active = false
}
func setHighlighted(highlighted: Bool, animated: Bool) {
imageTopConstraint.active = true
imageBottomConstraint.active = true
}
答案 2 :(得分:0)
这是非常好的@ iDev解决方案的快速版本
override func awakeFromNib() {
super.awakeFromNib()
imagevw.hidden = true
imageTopConstraint.active = false
imageBottomConstraint.active = false
}
func setHighlighted(highlighted: Bool, animated: Bool) {
imageTopConstraint.active = true
imageBottomConstraint.active = true
imagevw.hidden = false
}
为此您需要在自定义单元格中将IBOutlet用于顶部约束,图像视图的底部约束