尝试调整大小和图像时实例化类方法问题

时间:2013-05-12 11:58:28

标签: ios objective-c xcode cocoa-touch

我是iOS开发的新手,也是我第一次尝试调整大小,图像和处理类方法。

我正在关注如何调整图片大小的this帖子。我将+ (UIImage*)imageWithImage:(UIImage*)image scaledToSize:(CGSize)newSize;放入selectExerciseImageViewController.h并将相关代码复制到selectExerciseImageViewController.m

然后尝试使用

实例化该类
    selectExerciseImageViewController * newC = [[selectExerciseImageViewController alloc] init];
  UIImage* newImage = [newC imageWithImage:[info objectForKey:@"UIImagePickerControllerOriginalImage"]
      scaledToSizeWithSameAspectRatio:CGSizeMake(40.0,40.0)];

但它抛出一个错误,说该方法没有可见的界面。我尝试将self代替newC,但仍然会抛出相同的错误。

我会很感激为什么会这样做的指导。

1 个答案:

答案 0 :(得分:3)

你的

+ (UIImage*)imageWithImage:(UIImage*)image scaledToSize:(CGSize)newSize;

方法是一个类方法,您尝试在selectExerciseImageViewController的实例上调用它。尝试:

[selectExerciseImageViewController imageWithImage:[info objectForKey:@"UIImagePickerControllerOriginalImage"]
  scaledToSizeWithSameAspectRatio:CGSizeMake(40.0,40.0)];

或者您可以将方法声明为实例方法,只需将+符号(类方法)更改为 - 符号(实例方法)

- (UIImage*)imageWithImage:(UIImage*)image scaledToSize:(CGSize)newSize;