0

私はiOS開発にまったく慣れておらず、クラスメソッドのサイズ変更と画像化と処理を試みるのは初めてです。

画像のサイズを変更する方法については、この投稿をフォローしています。に配置+ (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たが、それでも同じエラーがスローされます。

なぜこのように振る舞うかについてのガイダンスをいただければ幸いです。

4

1 に答える 1

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;
于 2013-05-12T12:03:57.850 に答える