[iOS]addView した UIView オブジェクトを後でアクセスする方法

メソッド内で宣言すると後で取得できないので、クラス内に退避用プロパティを作って・・・では面倒この上ない。

それをせずにすむ2通りの方法がある。

 


add した分だけ subviews から取得する

 

 

1
UIImageView* iview = [view.subviews objectAtIndex:0];

全部ぶん回すのは楽だが、特定のオブジェクトをアクセスしたい場合、検索まで行う必要があり面倒

 


viewWithTag を使う

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
UIImageView* iview = [[UIImageView alloc] init];
// この数値が取得時に使われる INDEX
iview.tag = 1;
[view addSubview:iview];
 
・
 
・
 
・
 
// 登録した iview を別メソッドで取得
UIImageView* iv = (UIImageView*)[view viewWithTag:1];

特定のオブジェクトを狙って取得できる。

Tag 番号は必ず 1以上 であること。 0 を使うと取得で落ちる。

番号は define や enum などで管理するといいと思う。

Posted under 未分類 by akira on 月曜日 28 2月 2011 at 10:32 PM

コメントはまだありません »

コメントはまだありません。

この投稿へのコメントの RSS フィード。 TrackBack URI

コメントする