2012-02-13 5 views
0

У меня есть этот код:IOS: получить ярлык изображения

- (IBAction) checkIt:(id)sender{ 
    NSString *button = [[(UIImageView *)sender label]text]; 

Я хочу, чтобы получить ярлык UIImageView. Что я делаю не так? Это работает с кнопками ... Не уверен, что я понимаю, как правильно обращаться к атрибутам.

ответ

0
+0

Спасибо. Как я могу получить доступ к его атрибутам? Мне нужно настроить некоторые операторы if, чтобы проверить, какое изображение было затронуто. –

+1

Yup. @Kevin Brown. Вы должны отслеживать любые данные, которые вы хотите, с изображением в какой-то структуре данных. Я обычно использую NSDict для отслеживания таких вещей, как данные UIImage, URL, название и т. Д. – Neo

+0

UIImageViews не содержат ссылок на информацию о пользователе. Лично мне нравится функция тега, которую используют C# и другие языки, и часто выводит класс, который содержит свойство NSObject, называемое тегом, которое вы можете использовать для хранения указателя на объект для ссылки при необходимости. – madmik3

1

Подкласс 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]; 
} 
+0

Я очень новичок в ООП. Можете ли вы дать мне более подробную информацию и, возможно, и пример? Я даже не понимаю, что такое подкласс или как это сделать. :/ –

+0

Отредактированное сообщение с образцом кода .. – Apurv

Смежные вопросы