2016-12-29 67 views
0

我正在通过采取动手方式教授自己斯威夫特。我有一个简单的图像,其高度限制在故事板中设置为150。不过,我想以编程方式将其更改为70。如何以编程方式更改UIImageView的高度?

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell { 
    let tableElement = tableView.dequeueReusableCell(withIdentifier: "FirstTable", for: indexPath) 
    tableElement.BigImage.image = ?? 
    return tableElement 
} 

我做tableElement.BigImage.image访问图像,我想找到它的高度属性并将其设置为70。我已经试过这tableElement.BigImage.image.topCapHeight = 70不过是给出了一个错误。我怎样才能做到这一点?

这是我的出路吧

class myNewCell: UITableViewCell { 

    @IBOutlet weak var BigImage: UIImageView! 


    override func awakeFromNib() { 
     super.awakeFromNib() 
     // Initialization code 
    } 

    override func setSelected(_ selected: Bool, animated: Bool) { 
     super.setSelected(selected, animated: animated) 

     // Configure the view for the selected state 
    } 

} 

我想学习如何改变图像的高度编程,因为我得到的图像的2个不同批次的,我想他们的高度排序的分离红色/蓝色的东西。

+4

创建的ImageView的身高约束出口,改变约束常数70。同样,你正在试图改变形象,而不是ImageView的 –

+0

的高度约束@ New16你不能让动态细胞的任一网点。 – Lumialxk

+0

@Lumialxk OP可以出口到'UITableViewCell'为'UIImageView'的高度约束,并相应地更新它'cellForRow' – Rikh

回答

1

双击编辑约束。为它设置标识符。 enter image description here

,并以编程找到它。

for constraint in UIView().constraints { 
    if constraint.identifier == "your identifier" { 
     // set here 
    } 
} 

更新
当你创建一个自定义单元格,添加另一个出口是更好的。 CTRL-DRAG一个插座,它看起来像这样。

class myNewCell: UITableViewCell { 

    @IBOutlet weak var BigImage: UIImageView! 
    @IBOutlet weak var topCapHeight: NSLayoutConstraint! 

    override func awakeFromNib() { 
     super.awakeFromNib() 
     // Initialization code 
    } 

    override func setSelected(_ selected: Bool, animated: Bool) { 
     super.setSelected(selected, animated: animated) 

     // Configure the view for the selected state 
    } 

} 
+0

非常感谢这是我需要的到底是什么 –