почему альфа и константа Constraint отличаются в блоке анимации

avatar
PrepareFor
8 апреля 2018 в 07:18
35
1
0

Я пытаюсь понять анимацию в iOS

если я хочу изменить ограничение высоты представления, я устанавливаю такой код

@objc func handleAnimatioButtonTapped(){
  targetViewHeightConstraint.constant = 200
  UIView.animated(2) {
    self.view.layoutIfNeeded()
  }
}

Я читал про layoutIfNeeded() и setNeedsLayout, асинхронность и синхронизацию

но когда я хочу изменить альфу

почему код выглядит так?

@objc func handleAnimatioButtonTapped(){
  UIView.animated(2) {
    self.targetView.alpha = 0
  }
}
Источник

Ответы (1)

avatar
user9245495
8 апреля 2018 в 07:26
0

Вам не нужно вызывать layoutIfNeeded() или любые другие функции, потому что вы не обновляете макет/позицию чего-либо, а только альфа-значение представления.

PrepareFor
8 апреля 2018 в 07:29
0

связано ли это с тремя этапами компоновки и перерисовки видов в Auto Layout?

user9245495
8 апреля 2018 в 18:19
0

Что вы имеете в виду под «тремя шагами».