Мой вопрос на самом деле прост, но для лучшего понимания я все здесь объяснил.
У меня есть серия UIImageView
внутри UIScrollView, а также еще один большой UIImageView
.
Мой код такой:
- (void)viewDidLoad {
imgScrollView.clipsToBounds = YES;
imgScrollView.scrollEnabled = YES;
imgScrollView.userInteractionEnabled =YES;
// load all the images
NSUInteger i;
for (i = 1; i <= 9; i++)
{
NSString *imageName = [NSString stringWithFormat:@"image%d.jpg", i];
CGRect imageViewFrame = CGRectMake(0.0f, 0.0f, kHeight, kWidth);
// TapImage is a subclassed UIImageView that catch touch/tap events
TapImage *imageView = [[[TapImage alloc] initWithFrame:imageViewFrame] autorelease];
imageView.userInteractionEnabled = YES;
imageView.image = [UIImage imageNamed:imageName];
imageView.tag = i;
[self.imgScrollView addSubview:imageView];
[imageView release];
}
[self layoutImages];
[super viewDidLoad];
}
TapImage - это UIImageView в подклассах.код подобен этому
@interface TapImage : UIImageView {
}
@end
@implementation TapImage
- (id)initWithFrame:(CGRect)aRect {
if (self = [super initWithFrame:aRect]) {
self.userInteractionEnabled = YES;
}
return self;
}
- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
[self.layer setBorderColor: [[UIColor greenColor] CGColor]];
[self.layer setBorderWidth: 2.0];
NSLog(@"Touches began %@",touches);
}
Я хочу сделать предварительный просмотр в большом UIImageView
, при касании одного изображения в представлении прокрутки (так же, как в режиме кинопленкифункция в ОС Windows).Но проблема в том, что bigPreview UIImageView не доступен из класса TapImage, поскольку он не является частью класса TapImage.Тогда в чем здесь решение ??
При прикосновении к одному изображению в scrollView, оно получает зеленую границу (обозначенную как выбранное).Здесь я хочу отменить выбор ранее затронутого изображения, когда мы прикасаемся к другому изображению в scrollView (значит, за один раз выбирается и просматривается только одно изображение).Но проблема в том, что при прикосновении к нему каждый UIImageView вызывает свой собственный метод touchesBegan :.Тогда как отменить выбор ранее затронутого изображения ??
Пожалуйста, помогите мне с простыми и подробными ответами.:-) Спасибо заранее.: -)