2012-02-13 5 views
0

私はこのコードを持っています:のiOS:画像ラベル

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

私はUIImageViewのラベルを取得したいです。私は間違って何をしていますか?これはボタンで動作します...私は属性に正しくアクセスする方法を理解していません。

答えて

0
+0

感謝を使用するファイルで

@implementation CustomImageView @synthesize imageName; -(void) dealloc { [imageName release]; [super dealloc]; } @end 

.M

での.h

@interface CustomImageView : UIImageView { NSString *imageName; } @property (nonatomic, retain) NSString *imageName; @end 

。その属性にどのようにアクセスすればよいですか?どの画像に触れたかを確認するためにif文を設定する必要があります。 –

+1

はい。 @ケビン・ブラウン..あなたは、何らかのデータ構造のイメージであなたが望むデータを追跡しなければなりません。私は通常、UDmageのデータ、URL、タイトルなどを追跡するためにNSDictを使用します。 – Neo

+0

UIImageViewsは、ユーザー情報への参照を保持しません。個人的には、C#や他のlanguesが使用するタグ機能が好きであり、タグと呼ばれるNSObjectプロパティを含むクラスを派生し、必要なときに参照するオブジェクトへのポインタを格納することができます。 – madmik3

1

サブクラスUIImageView。それにアクセスするための文字列メンバとプロパティを追加します。 UIImageViewのオブジェクトを作成する代わりに、クラスのオブジェクトを作成します。あなたはこのクラスに

-(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

私はOOPにはとても新しいです。あなたは私にいくつかの詳細と、おそらく例を教えてくれますか?私は実際にサブクラスが何であるか、それをどうするかを理解していません。 :/ –

+0

サンプルコード付きの編集済みの投稿 – Apurv