我是否检查了UIView的变换值?

时间:2016-02-18 23:42:52

标签: uiview core-animation transform

如何检查特定UIView的转换是通过CGAffineTransformIdentity设置还是物理移动?

场景:
我可以通过改变它的框架或通过转换来定位UIView。一旦UIView通过变换或改变帧定位......我希望通过不同的按钮将其恢复到原始布局。

观察:
1)如果我已经更改了 UIView的帧,我可以通过原始帧值将其还原。
2)如果我已经转换了 UIView,我可以通过 CGAffineTransformIdentity 将其还原。

那么......我怎么能以编程方式知道差异呢?
我通过测试变换来假设。究竟怎么样?  

附:这纯粹是为了启发。

var transform = CGAffineTransformIdentity

if origFrame != containerView.frame {
   // TODO: Need to determine if reset transform CGAffineTransformIdentity vs moving containerView.
   print("1b) Reset Layout")

} else {
   print("1a) Animate Transform.")
   transform = CGAffineTransformScale(transform, 0.25, 0.25)
   transform = CGAffineTransformTranslate(transform, -400, -600)
}

UIView.animateWithDuration(1.0, animations: {
    self.containerView.transform = transform
})

0 个答案:

没有答案