2016-12-29 3 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 
    } 
} 

Update
Как вы создали пользовательскую ячейку, чтобы добавить еще один выход лучше. 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

Спасибо большое, что именно то, что мне было нужно –

Смежные вопросы