1

タグで読み込まれた UIImage のサイズを変更する方法を見つけようとしています。3 つの画像の読み込みとタグ付けに成功しました。

以下は、これをテストするために使用している「touchesEnded」コードです。コードが機能するように NSLogs をトリガーします。サイズ変更テストでは、移動後に UIImage tag=0 のサイズを変更したいので、「touchesEnded」に入れます。

- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
NSLog(@">>> touchesEnded <<<");

UITouch *touch = [[event allTouches] anyObject];

endLocation = [[touches anyObject] locationInView:self];

switch ([touch view].tag) {
    case 0:
        NSLog(@"touchesEnded: 0");

        // Resize call here

        break;
    case 1:
        NSLog(@"touchesEnded: 1");
        [[touch view] setCenter: CGPointMake(180, 400)];
        break;
    case 2:
        NSLog(@"touchesEnded: 2");
        [[touch view] setCenter: CGPointMake(10, 10)];
        break;
    default:
        break;
}
}

このメソッドを呼び出したいのですが、うまくいくはずです:

+ (UIImage *)imageWithImage:(UIImage *)image scaledToSize:(CGSize)newSize {
//UIGraphicsBeginImageContext(newSize);
UIGraphicsBeginImageContextWithOptions(newSize, NO, 0.0);
[image drawInRect:CGRectMake(0, 0, newSize.width, newSize.height)];
UIImage *newImage = UIGraphicsGetImageFromCurrentImageContext();    
UIGraphicsEndImageContext();
return newImage;

}

ソース: UIImage のサイズを変更する最も簡単な方法は? (ポール・リンチ)

これは私がUIImagesを追加する方法です:

- (void)viewDidLoad
{
[super viewDidLoad];
// Do any additional setup after loading the view, typically from a nib.

NSArray *cards = [[NSArray alloc]initWithObjects:@"img1.png", @"img2.png", @"img3.png",nil];

int x = 0;

for (NSString *theCards in cards) {
    DragView *actualCards = [[DragView alloc] initWithImage:[UIImage imageNamed:theCards]];
    actualCards.tag = x;
    NSLog(@"Tag: %i", x);
    x++;
    [self.view addSubview:actualCards];

}
}

タグ 1 と 2 は、その他のテスト用です。

しかし、タグを持つUIImageを使用して機能させることができないので、関数を呼び出してUIImageのサイズを変更する方法や指示を求めたいと思います。

4

2 に答える 2

0

画像の取得方法についてお尋ねします。コードから、最初に DragView インスタンスであるタグ付きビューを取得する必要があります。次に、画像を DragView のプロパティとして設定するだけで画像を取得できます。

于 2013-07-13T14:52:01.863 に答える