タッチイベントに応答する必要があるtableViewセルにボタンがあります。通常、これは簡単に-tableViewの内部ボタンがUITableViewCellで動作しないサブタイトルがUITableViewCellのビューのサブビューである場合
[cell.playButton addTarget:self action:@selector(playButtonPressed:) forControlEvents:UIControlEventTouchUpInside];
によって解決されるだろう:cellForRowAtIndexPath:
私が午前の問題は、私のボタンはカスタムUITableViewCellのサブクラスの内部にあるということであり、また、そのビューのサブビューです私は、例えば
...そのクラスの内部で作成しています:ボタンは、私は目の中に作成するビューのサブビューがある
UIView *view = [[UIImageView alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
self.theView = view;
[self addSubview:view];
[view release];
UIButton *playButton = [UIButton buttonWithType:UIButtonTypeCustom];
playButton.frame = CGRectMake(5, 5, 100, 30);
[playButton setImage:[UIImage imageNamed:@"button_playvid.png"] forState:UIControlStateNormal];
[playButton setImage:[UIImage imageNamed:@"button_playvid_active.png"] forState:UIControlStateHighlighted];
self.playButton = playButton;
[self.theView addSubview:playButton];
e custom UITableViewCellボタンが押されずにセルが強調表示されるので、-tableView:cellForRowAtIndexPathで設定したターゲットは決して呼び出されません。なぜ、..どんな助け?
おかげで、
ジョエル
PS。私はおそらく、すでに一つあるので、これとまったく同じようなバックグラウンドビューを作成する実際的な理由はないと考えています。これは私が持っている問題を説明するために使用しているコードの例です。:D
ありがとう!
"playButtonPressed:"メソッドの実装で質問を編集してください。 – Krishna
UIButtonをビューコントローラに作成し、それをビューコントローラのビューのサブビューとして追加すると、(同じビューコントローラのビューにも追加される)uitableviewのセルに追加していますか?それは良い考えではありません... – MGA
あなたの新しい[ビューaddSubview:playButton]にあなたのボタンを追加してください – Hiren