【发布时间】:2011-11-09 18:41:06
【问题描述】:
我有一个简单的应用程序,它允许用户使用平移和捏合手势识别器在屏幕上拖动/缩放图像。 Apple API 的常识是,在您执行转换后,正如我在缩放方法中所做的那样,框架变得“无效”。即使在我执行了转换并且一切都继续正常工作之后,我仍然继续使用我的 imageview 的框架来计算比例大小和平移距离,我想知道框架变得无效怎么办?
我问这个,因为现在我正在尝试裁剪已经移动和缩放的图像,并且我正在使用它的帧值来确定裁剪区域,我得到了有趣的结果。我想知道无效框架是否可能是问题所在,或者是否可能是其他问题。这是我的代码供您参考:
CGRect croppedRect = CGRectMake(fabsf(self.oldImageView.frame.origin.x), fabsf(self.oldImageView.frame.origin.y), 316, 316);
CGImageRef croppedImageRef = CGImageCreateWithImageInRect(self.oldImageView.image.CGImage, croppedRect);
UIImage *croppedImage = [UIImage imageWithCGImage: croppedImageRef];
CGImageRelease(croppedImageRef);
UIImageView *newImageView = [[UIImageView alloc] initWithImage: croppedImage];
【问题讨论】:
-
你确定它无效并且没有失效吗?那些东西是不同的
-
invalidated 表示需要重绘,不代表大小不对。我不知道在这种情况下无效是什么意思
-
@Dani:我相信 CoDEFRo 指的是这个:developer.apple.com/library/ios/documentation/WindowsViews/…
标签: iphone objective-c ios cocoa-touch core-graphics