我开始使用Rory Lewis 为 Absolute Beginners 编写的 iPhone 和 iPad 应用程序学习 Objective-c,但我被困在第 5 章。
我想制作一个缩小图像的按钮。
我的问题是,在我编写完所有代码后,图像会缩小到 UIImageView(左上角)的点 (0, 0),而在视频中,图像会缩小到其中心。我做了一些研究,发现CGAffineTransform
使用对象的中心进行平移、旋转等。
那么为什么它在我的情况下不起作用?
我有最新的 Xcode 版本并且没有做任何奇怪的事情。我希望我已经清楚了。对不起我的英语不好。
编辑 对不起代码,但我用手机写了这个问题。无论如何,被定罪的部分是这样的
- (IBAction)shrink:(id)sender {
if(hasShrink == NO){
[shrinkButton setTitle:@"Grow" forState:UIControlStateNormal];
}
else if(hasShrink == YES){
[shrinkButton setTitle:@"Shrink" forState:UIControlStateNormal];
}
[UIView beginAnimations:nil context:nil];
[UIView setAnimationDuration:1.0];
myIcon.transform = CGAffineTransformMakeScale(.25, .25);
hasShrink = YES;
[UIView commitAnimations];
}
所有动画都正确编写,应用程序确实可以工作,它只是缩小到左上角。为什么默认情况下该点没有设置为 UIImageView 的中心?
编辑: 我发现这是由 AutoLayout 引起的问题。一旦被禁用,一切都很顺利;)