【发布时间】:2023-03-22 09:11:01
【问题描述】:
当用户点击其超级视图时,我正在运行此代码以缩小 UIView。然而,当应用 CGAffineTransformScale() 时,它也会改变中心。这是预期的行为吗?
-(void) onTap:(UITapGestureRecognizer *)tap{
[UIView animateWithDuration:1.2
delay:0
options:0
animations:^{
CGAffineTransform transform = self.icon.transform;
NSLog(@"Previous center: %@", NSStringFromCGPoint(self.icon.center));
self.icon.transform = CGAffineTransformScale(transform, 0.5, 0.5);
NSLog(@"Next center: %@", NSStringFromCGPoint(self.icon.center));
} completion:^(BOOL finished) {
//
}];
}
【问题讨论】:
-
视图中心向左下移
-
您介意在调用 animateWithDuration 之前和在 completion:^ 块中编辑代码以输出边界和中心吗?并添加实际的 NSLog 输出?我使用 MonoTouch,但没有看到这种行为。中心保持原位,视图围绕中心点缩放。
标签: cocoa-touch uiview core-animation cgaffinetransform cgaffinetransformscale