画像ビューに4枚の画像を追加したい。最初に 1 つの画像が表示されます。
また、画像ビューをタップまたはスワイプするたびに、画像が変更されます。
imageviewの画像を4回ずつ変えたいです。
画像ビューに4枚の画像を追加したい。最初に 1 つの画像が表示されます。
また、画像ビューをタップまたはスワイプするたびに、画像が変更されます。
imageviewの画像を4回ずつ変えたいです。
ToggleImageView.h
@interface ToggleImageView : UIImageView {
NSArray *images;
int currentIndex;
}
- (id)initWithImages:(NSArray *)theImages;
@end
ToggleImageView.m
#import "ToggleImageView.h"
@implementation ToggleImageView
- (id)initWithImages:(NSArray *)theImages {
self = [self initWithImage:[theImages objectAtIndex:0]];
if (self) {
images = [theImages retain];
currentIndex = 0;
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(handleTap:)];
[self addGestureRecognizer:tap];
[tap release];
self.userInteractionEnabled = YES;
}
return self;
}
-(void)dealloc {
[images release];
[super dealloc];
}
- (void)handleTap:(UITapGestureRecognizer *)sender {
if (images.count > 0) {
currentIndex++;
if (currentIndex > images.count - 1) {
currentIndex = 0;
}
self.image = [images objectAtIndex:currentIndex];
}
}
@end
そして、コントローラーのどこかに
ToggleImageView *tv = [[ToggleImageView alloc] initWithImages:[NSArray arrayWithObjects:[UIImage imageNamed:@"image1"], [UIImage imageNamed:@"image2"], [UIImage imageNamed:@"image3"], [UIImage imageNamed:@"image4"], nil]];
[self.view addSubview:tv];
[tv release];