2011-01-05 1 views
0

すばやく簡単な質問です。私はUIButtonsのスクロールビューを持っています。ボタンはproductImageを表示する必要があります。これらの画像はWebサービスから来ているので、AsyncImageViewを使ってそれらをロードする必要があります。 AsyncImageViewをボタンのサブビューとして追加すると問題が発生するだけで、ボタンはもう押せなくなります。UIButtonの上にあるAsyncImageView

どうすればAsyncImageViewを押すことができますか?ボタンの後ろにAsyncImageViewを追加することはもちろん不可能です。

for (int i = 1; i < [searchResults2 count]; i++) { 
    UIButton *button = [[UIButton alloc] initWithFrame:CGRectMake(((10*i) + ((i - 1)*90)), 40, 90, 90)];   
    [button setBackgroundColor:[UIColor whiteColor]]; 
    [button setAlpha:0.9]; 

    CGRect frame; 
    frame.size.width=90; 
    frame.size.height=90; 
    frame.origin.x=0; 
    frame.origin.y=0; 
    AsyncImageView* asyncImage = [[[AsyncImageView alloc] initWithFrame:frame] autorelease]; 
    asyncImage.tag = 999; 
    [asyncImage loadImageFromURL:[NSURL URLWithString:[[searchResults2 objectAtIndex:(i-1)] 
                 searchObjectImageUrl]]]; 
    [button addSubview:asyncImage.view]; 
    button.tag = i; 
    [button addTarget:self action:@selector(buttonPressed:) forControlEvents:UIControlEventTouchUpInside];  
    [scrollView addSubview:button]; 
} 

ありがとうございます。

編集:AsyncImageviewを使用せず、画像用の簡単なダウンローダを作成して解決します。これはYESに設定userInteractionEnabledたzオーダーで次のオブジェクトに通過するasyncImageを「ヒット」という任意のタッチイベントを起こす必要がある

asyncImage.userInteractionEnabled = NO; 

+0

を使用することができますか? – Daniel

+0

画像プロパティにアクセスしようとすると、AsyncImageViewのサブビューがまだ空になっているようです。したがって、画像にはまだアクセスできません。 – Lewion

答えて

2

はこれを試してみてください。

-S

+0

私はイメージ用のダウンローダを作成しました。私はそれをチェックしたと思う。しかし、まだありがとう:) – Lewion

+0

これは動作します。そして、そうでなければasyncImage.exclusiveTouch = NOを試してみてください。 (しかし、私はこの最後の部分は必要ありませんでした)。 - http://uihacker.blogspot.com/2010/04/iphone-subviews-in-uibuttons-block.html – RyanJM

0

uはあなたの非同期画像を取り戻す一度uは、ボタンの画像popertyを設定するのはなぜカントは、次のもの

asyncImage.userInteractionEnabled = NO; 
asyncImage.exclusiveTouch = NO; 
関連する問題