Подкласс UIImageView
. Добавьте член строки и свойство для доступа к ней. Вместо создания объекта UIImageView
создайте объект своего класса.
В .h
@interface CustomImageView : UIImageView
{
NSString *imageName;
}
@property (nonatomic, retain) NSString *imageName;
@end
в ом
@implementation CustomImageView
@synthesize imageName;
-(void) dealloc
{
[imageName release];
[super dealloc];
}
@end
в файл, где вы хотите использовать этот класс
-(void) addCustomImageView
{
CustomImageView *imgView = [[CustomImageView alloc]initWithImage:[UIImage imageNamed:@"abc.png"]];
imgView.frame = CGRectMake(0, 0, 100, 100);
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]initWithTarget:self action:@selector(imgViewtapped:)];
[imgView addGestureRecognizer:tap];
[tap release];
[self.view addSubview:imgView];
[imgView release];
}
-(NSString *) imgViewtapped:(CustomImageView *)sender
{
return [sender imageName];
}
Спасибо. Как я могу получить доступ к его атрибутам? Мне нужно настроить некоторые операторы if, чтобы проверить, какое изображение было затронуто. –
Yup. @Kevin Brown. Вы должны отслеживать любые данные, которые вы хотите, с изображением в какой-то структуре данных. Я обычно использую NSDict для отслеживания таких вещей, как данные UIImage, URL, название и т. Д. – Neo
UIImageViews не содержат ссылок на информацию о пользователе. Лично мне нравится функция тега, которую используют C# и другие языки, и часто выводит класс, который содержит свойство NSObject, называемое тегом, которое вы можете использовать для хранения указателя на объект для ссылки при необходимости. – madmik3