2009-08-14 10 views
0

있는 tableview 셀에서 작동하지 않는,하지만 난이 그것으로 문제가 있어요 : I 버튼에 setTarget:action: 방법을 호출 한있는 UIButton 내가있는 tableview 셀에 버튼을 추가 한

1)하지만 action:을 메소드가 호출 결코 극복 :

[playButton addTarget:self action:@selector(playButtonPressed:) 
       forControlEvents:UIControlEventTouchUpInside]; 

2) 세포 자체가 터치에서 선택한 점점 끝, 내가 일하지 않으려는 didSelectRowAtIndexPath를 호출. 누르면

내가 버튼을 최소한의 showsTouchWhenHighlighted 속성을 설정하고 그것을보고하여 터치를보고있는 것을 확인했습니다는 "빛". 그러나 터치 이벤트가 버튼 자체에서 처리되는 대신 셀 슈퍼 뷰로 전달되는 것처럼 보이는 이유는 무엇이든간에.

내가 영향을 미치지 않고, 세포의 contentView뿐만 아니라 다른 세포 파단에 직접 버튼을 추가하는 시도했습니다. 나는 또한 버튼의 수퍼 뷰가 모두 터치 가능하도록 만들었습니다.

의견이 있으십니까?

하워드

답변

0

이 두 가지 방법은, 가장 간단한 버튼에 태그 번호를 설정하고 IB와 셀에 버튼을 추가하는 것입니다 수 있습니다 당신은 셀 사용 무언가를 갱신 cellForRowAtIndexPath 방법에있을 때 같은 :

UIButton *myButton = (UIButton *)[cellYouAreUpdating viewWithTag:-1969]; 

이전에 IB에서 설정 한 태그 번호 -1969되는 셀 참조를 cellYouAreUpdating. 그런 다음 셀의 단추에 대한 참조를 가지며 적절한 선택기로 추가 대상을 설정할 수 있습니다.

희망이 도움이됩니다.

0

당신의 버튼을 Y 축 또는 Y 축 + 높이의 슈퍼보기보다 높은 것입니다 수 내 수퍼

+0

나는 그것이 문제라고 생각하지 않습니다. 내가 문제를 게시 할 때 좀 더 많은 코드 컨텍스트를 제공했으면한다. 문제가 다른 곳에 있다고 의심하기 때문이다. 그 이후 나는 문제없이 uitableview 셀에 버튼을 추가했습니다. 위 코드는 현재 저에게 맞는 코드와 같습니다. 현재 사용하고있는 두 개의 추가 라인은 다음과 같습니다. \t \t button.frame = CGRectMake (244, 5, 75, 40); [button setTitle : @ "완료!" forState : UIControlStateNormal]; – hkatz

0

의 heght 확인 (슈퍼 뷰는 셀 또는 셀의 내용 없음있을 수 있습니다) -> 첫 번째 문제의 경우, 사용을 이 코드

UIButton *imgV1 = [UIButton buttonWithType:UIButtonTypeCustom]; 
[imgV1 setFrame:CGRectMake(0, 0, 320, 53)]; 
[imgV1 setBackgroundColor:[UIColor clearColor]]; 
[imgV1 setImage:[UIImage imageNamed:@"expired.png"] forState:UIControlStateNormal]; 
[imgV1 addTarget:self action:@selector(show_product_details:) forControlEvents:UIControlEventTouchUpInside]; 

->

- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath  { 

에서 두 번째 문제의 사용이 들어 [셀 setSelectionStyle : UITableViewCellSelectionStyleNone] }

관련 문제