2012-01-11 7 views

答えて

4

はそれを解決しました。ユーザーインタラクションを無効にすると、クリックのやりとりがなく、画像のように動作します。

UIButton *contactAddButton = [UIButton buttonWithType:UIButtonTypeContactAdd]; 
[contactAddButton setUserInteractionEnabled:FALSE]; 
cell.accessoryView = contactAddButton; 
+0

セル内の画像をタップすると、セルが選択されます。 'userInteractionEnabled'が' NO'に設定されたボタンをタップすると何も起こらず、システム内のボタン* everywhere *なので、何もしない理由についてユーザーは混乱します。 –

+0

ボタン(またはセル内の他の場所)をクリックすると、セルが選択され、別のビューがプッシュされます。デフォルトのアクセサリボタン(UITableViewCellAccessoryDe​​tailDisclosureButton)と同じように動作します。彼らがなぜ混乱するのか分かりません。 – Tony

+0

ボタンがタッチイベントをセルに転送していると言っていますか?面白い... –

7

UIButtonTypeContactAddタイプのUIButtonを作成し、これをセルのaccessoryViewとして追加すると、これを実現できます。

UIButton contactAddButton = [UIButton buttonWithType:UIButtonTypeContactAdd]; 
cell.accessoryView = contactAddButton; 
+0

問題は、それが私のdidSelectRowイベントをオーバーライドすることです。ボタン全体を選択したいのですが、ボタンの内側をクリックしてボタンを押さないでください。私はそれをイメージとして動作させたい。 – Tony

0

あなたはここに1を取得することができます:http://blog.twg.ca/2010/11/retina-display-icon-set/

+0

これは良いアイコンですが、私が探しているものではありません。私は連絡先の追加ボタンのような青いイメージが必要です。 – Tony

+0

このセットからアイコンイメージを取得し、そのようなボタンを作成できます。まったく同じエフェクトが必要な場合は、UIBarButtonItemを作成することができます(ただし、UIButtonについてはアドバイスしていますが)。 –

関連する問題