【发布时间】:2011-04-14 16:04:57
【问题描述】:
我编写了一些代码来将图像视图旋转 90 度然后翻转它。然而,翻转似乎切断了一半的图像。为什么会这样?
UIImageView *tempView = [[UIImageView alloc] initWithFrame:button.frame];
tempView.image = [UIImage imageNamed:@"propertyCard.png"];
//tempView.backgroundColor = [UIColor redColor];
tempView.opaque = YES;
[self.view addSubview:tempView];
[UIView animateWithDuration: 1
delay: 0
options: UIViewAnimationOptionBeginFromCurrentState
animations:^{
// rotate
tempView.layer.transform = CATransform3DMakeRotation(M_PI /2, 0., 0, 1);
}
completion:^(BOOL finished) {
[self showPropertyViews];
[UIView animateWithDuration: 1
delay: 0
options: UIViewAnimationOptionBeginFromCurrentState
animations:^{
// flip
tempView.layer.transform = CATransform3DMakeRotation(M_PI, 1.0,1.0,0.0);
}
completion:^(BOOL finished) {
[UIView animateWithDuration: 1
delay: 0
options: UIViewAnimationOptionBeginFromCurrentState
animations:^{
tempView.frame = CGRectMake(propertyView.frame.origin.y + 12, propertyView.frame.origin.x +12, propertyView.frame.size.height-20, propertyView.frame.size.width-20);
tempView.center = propertyView.center;
}
completion:^(BOOL finished) {
tempView.hidden = YES;
propertyView.hidden = NO;
propertyView.alpha = 1;
[self displayCoverFlow];
[tempView removeFromSuperview];
[tempView release];
}];
}];
}];
【问题讨论】:
-
请编辑您的帖子并重新粘贴代码 - 使用
{}按钮对其进行格式化。 -
tempView.frame = CGRectMake(0 + 5, 0 +5, propertyView.frame.size.height-10, propertyView.frame.size.width-10); tempView.center = propertyView.center;在这里你正在改变框架。请在动画前后打印您的 imageView 对象,看看两者之间有什么区别。
标签: iphone transitions