Ios 为视图控制器的边界原点设置动画时实际会发生什么;你的观点是什么?
如果设置视图控制器视图的边界原点的动画:Ios 为视图控制器的边界原点设置动画时实际会发生什么;你的观点是什么?,ios,swift,uiview,Ios,Swift,Uiview,如果设置视图控制器视图的边界原点的动画: UIView.animate(withDuration: 1) { self.view.bounds.origin.y = 20 } 其所有子视图都向上设置20个点的动画。但是我想我只是将边界原点向下移动了20点,那么为什么子视图不向下移动20点呢?当我执行此动画时,实际发生了什么 或者仅仅是在边界坐标系中,正值是向上的?我相信您可能混淆了视图的边界和视图的框架 但是我想我只是将边界原点向下移动了20点,那么为什么子视图不向下移动20点呢 否,
UIView.animate(withDuration: 1) {
self.view.bounds.origin.y = 20
}
其所有子视图都向上设置20个点的动画。但是我想我只是将边界原点向下移动了20点,那么为什么子视图不向下移动20点呢?当我执行此动画时,实际发生了什么
或者仅仅是在边界坐标系中,正值是向上的?我相信您可能混淆了视图的
边界
和视图的框架
但是我想我只是将边界原点向下移动了20点,那么为什么子视图不向下移动20点呢
否,如果将帧
(此视图位于其superview的坐标系中)向下移动20,则它(及其子视图)将向下移动20。但是您调整了边界
,而不是帧
当我执行此动画时,实际发生了什么
为了让它更容易看到,我会给这个视图提供它自己的背景色,这样你就可以看到它的子视图了。下面,我将边界移动了50点。通过将边界的原点
从0,0更改为0,50,我们表示“此视图自身坐标系的左上角不再是0,0,而是0,50”,从而将其所有子视图上移50:
让我困惑的是,在框架的上下文中,up是负数,而在边界的上下文中,up是正数。我假设(0,0)
是宇宙坐标系上的一个宇宙点(可能是窗口的),从该点(框架或边界)向上和/或向左移动的任何东西都进入了负区域。谢谢你的解释!