タグで読み込まれた 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のサイズを変更する方法や指示を求めたいと思います。