pix*_*eak 11 iphone objective-c ipad ios
我无法将视图的缩放设置为零.这是我的代码:
[UIView animateWithDuration:0.3 animations:^{
myView.transform = CGAffineTransformMakeScale(0.0, 0.0);
} completion:^(BOOL finished){
}];
Run Code Online (Sandbox Code Playgroud)
出于某种原因,视图会像旧电视管关闭一样水平拉伸和挤压.如果我改变比例尺(0.1, 0.1),它会正确缩放,但当然不是零.
为什么会这样?
Sko*_*oua 13
如果有人仍然感兴趣,这就是我所做的(在Swift中)使其工作(几乎):
UIView.animateWithDuration(1, animations: {
myView.transform = CGAffineTransformMakeScale(0.01, 0.01)
}, completion: nil)
Run Code Online (Sandbox Code Playgroud)
如果持续时间很短,则不会看到它不会精确缩放到0并且它会有效地消失.
万一仍有问题,问题在于仿射变换矩阵对于比例因子零不是唯一的–无法知道如何在初始矩阵和零矩阵之间进行“适当”插值,因此获得您所描述的怪异效果。
解决方案是简单地使用较小但非零的比例值,例如
[UIView animateWithDuration:0.3
animations:^{ myView.transform = CGAffineTransformMakeScale(0.01, 0.01); }
completion:nil];
Run Code Online (Sandbox Code Playgroud)
尝试:
[UIView animateWithDuration:0.3 animations:^{
myView.frame = CGRectMake(myView.origin.x, myView.origin.y, 0.0, 0.0);
} completion:^(BOOL finished){
}];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9358 次 |
| 最近记录: |