2012-01-18 5 views
1

私のカスタムUITableViewCellサブクラスに追加された特定のサブビューのタッチを無視しようとしています。そのサブビューではexclusiveTouchをYESに設定しましたが、タッチでも引き続きセル選択がトリガーされます。 接触がそのサブビューにあるときにその選択を避ける方法はありますか? おかげサブタイトルのexclusiveTouchがUITableViewCellに追加されました

答えて

1

を、Ali3nのソリューション@ view.userInteractionEnabled = NOを使用して(つまり、動作しません。 )。ビューをタップすると、セルは選択されたままです。

しかし、UIButtonをサブビューとして追加し、そのサブビューを追加すると、期待通りに機能することがわかりました。つまり、ボタンで覆われた領域をタップして、セルがではなく、が選択されています。 カスタムスタイルのUIButtonを使用すると、とにかくプレーンなUIViewと違って見えません。

ここでは、UISwitchをアクセサリービューに追加し、その後ろにタップできないUIButtonを追加します。ボタンを逃して背景を叩いた場合、セルはではなく、が選択されています。

UIButton* button =[UIButton buttonWithType:UIButtonTypeCustom]; 
button.frame = CGRectMake(0, 0, 100, 67); 
self.accessoryView = button; 
self.accessoryView.backgroundColor = [UIColor grayColor]; 
UISwitch* statusSwitch = [[UISwitch alloc] initWithFrame:CGRectMake(0, 20, 80, 40)]; 
[self.accessoryView addSubview:statusSwitch]; 
1

は、あなたがUIViewの 同様のuserInteractionEnabledプロパティを使用して、これらのビューにユーザーinterationを無効にすることができます - 私の経験で

view.userInteractionEnabled = NO; 
+0

はい、同じ問題が発生しました。私は、後ろにあるテーブルのセルに関連するものがあることを恐れています。 –

関連する問題