Недавно я работал с CGAffineTransform
и CATransform3D
на представлениях и слоях. Когда я применяю преобразование на уровне уровня и особенно на уровне представления, не следует автоматически обновлять фреймы связанных представлений. Например, рассмотрите следующий макет |H:[ViewA]-[ViewB]|
. Если я применил преобразование только ViewA
.CGAffineTransform не влияет на автозапуск
//We can either
ViewA.transform = CGAffineTransformMakeScale(1.5, 1.5)
ViewA.layer.transform = CATransform3DMakeScale(1.5, 1.5, 1.0)
не должен ViewB
автонастройки это Rect так ViewA
высота, ширина или положение изменилось после трансформации. Я также попытался назвать
self.view.layoutIfNeeded()
спасибо, что я пропустил это в документации .. На самом деле я регистрировал фрейм, и я получал масштабированный результат, поэтому я запутался в том, что кадр выполняется, но не связанные с ним взгляды. Любопытно, есть ли способ превратить преобразование в личность и применить эту разницу к кадру. – Azerue