我有一个UIImage需要进行翻转和镜像。我使用UIImageView实现了这个功能,但存在两个问题:
这样做并没有改变图片,只是改变了视图。因此,当我使用该图像时,它并没有被翻转或者会出现错误。
如果我连续两次使用相同的变换,第二次就无法产生效果。
代码示例:(我刚接触iOS编程,对于任何不好的代码我感到抱歉。)
调用翻转:
// ImageHolder is a UIImageView
ImageHolder = [self flip:ImageHolder FlipType:@"V"];
它所称呼的是:
- (UIImageView *)flip:(UIImageView *) fvImageView FlipType:(NSString *)FlipType {
UIImageView *newView = [[UIImageView alloc] init];
newView = fvImageView;
if ( FlipType == @"V"){
newView.transform = CGAffineTransformMakeScale(-1, 1);
} else if ( FlipType == @"H"){
newView.transform = CGAffineTransformMakeScale(1, -1);
}else if ( FlipType == @"VH"){
newView.transform = CGAffineTransformMakeScale(-1, -1);
}else if ( FlipType == @"N"){
newView.transform = CGAffineTransformMakeScale(1, 1);
}
return newView;
[newView release]; newView= nil;
}
感谢您能提供的任何帮助!
(这段话无需翻译)
return [newView autorelease];
,因为在返回之后进行释放将不会触发。 - Simon