我有一个 View Controller ,在加载时应该在 View 中的特定点放大(然后以动画方式缩小)。当它被 segue 推到导航堆栈的顶部时,它可以很好地显示放大的区域。
但是,如果我转到 StoryBoard 并将该 View Controller 设置为初始 View Controller ,加载后 View 会放大但旋转 90 度。不知道为什么。这是代码:
-(void)viewDidAppear:(BOOL)animated
{
//INITIAL TRANSFORM
CGAffineTransform t1 = CGAffineTransformMakeTranslation(-50, 0);
CGAffineTransform t2 = CGAffineTransformTranslate(t1, 0, 250);
CGAffineTransform t3 = CGAffineTransformScale(t2, 1.7, 1.7);
self.view.transform = t3;
//ZOOM OUT
[UIView animateWithDuration:8
delay:1.5
options:UIViewAnimationCurveEaseOut animations:^{
// self.view.transform = CGAffineTransformIdentity;
}completion:nil
];
}
有什么想法吗?
最佳答案
也许您应该使用 View 中的初始转换:
-(void)viewDidAppear:(BOOL)animated
{
//INITIAL TRANSFORM
CGAffineTransform t0 = self.view.transform;
CGAffineTransform t1 = CGAffineTransformTranslate(t0, -50, 0);
CGAffineTransform t2 = CGAffineTransformTranslate(t1, 0, 250);
CGAffineTransform t3 = CGAffineTransformScale(t2, 1.7, 1.7);
self.view.transform = t3;
//ZOOM OUT
[UIView animateWithDuration:8
delay:1.5
options:UIViewAnimationCurveEaseOut animations:^{
// self.view.transform = CGAffineTransformIdentity;
}completion:nil
];
}
关于ios - CGAffineTransformTranslate 正在旋转,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10736756/