2016-10-18 4 views
-2

저는 앱 개발을 처음 사용합니다. 내 앱에서 내 표보기 셀을 클릭하면 셀이 선택되고 이미지 또는 셀을 클릭했는지 여부에 관계없이 didSelectRowAtIndexPath 메소드가 실행됩니다. 셀이 아닌 이미지를 클릭하면 이미지가 선택되기를 원합니다. 미리 감사드립니다.tableviewcell에서 터치하여 이미지를 선택하는 방법

+0

사용자 정의 버튼을 tableviewcell에 추가하고 이에 대한 조치를 취할 수 있습니다. – Arun

+0

ur를 시도한 코드 표시 –

+0

SA에서 질문 할 때 좀 더 구체적으로 작성하십시오. 어떤 코드를 사용해 보았습니까? – Arun

답변

0

이미지보기에 UITapGestureRecognizer를 추가하고 셀 선택을 원하지 않으면 테이블보기 셀 선택을 해제하십시오. 이미지 탭 기능을 사용하면 원하는대로 할 수 있습니다.

0

cellForRowAtIndexPath 메서드에서 사용자 지정 UIButton을 추가하고 이미지를 단추의 배경 이미지로 지정합니다. 그런 다음 버튼에 대상을 추가하고 버튼의 대상 방법 여기

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

    UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"CellIdentifier"]; 

    if (cell == nil) { 
     cell = [[UITableViewCell alloc] initWithStyle:UITableViewCellStyleDefault reuseIdentifier:@"CellIdentifier"]; 


     UIButton *imageButton = [[UIButton alloc] initWithFrame:<Give the frame you want>]; 
     [imageButton setBackgroundImage:<your image> forState:UIControlStateNormal]; 
     [imageButton addTarget:self action:@selector(imageButtonClicked:) forControlEvents:UIControlEventTouchUpInside]; 
     [cell addSubview:imageButton]; 

    } 

    return cell; 
} 

가장 좋은 방법 대신 cellForRowAtIndexPath 방법 내부를 작성하는 인스턴스 변수로 imageButton을 사용자 정의 UITableViewCell를 만드는 것입니다 내부의 코드를 처리합니다. 그것은 당신이 원하는 위치에 배치 될 수 있도록 지금 imageButtonClicked 방법에

-(void)imageButtonClicked:(UIButton *)sender { 

    UIImage *image = sender.currentBackgroundImage; 

    //Do the logic what you want here 

} 

버튼의 프레임을주십시오.

이 코드를 사용해 본적이 없습니다. sender.currentBackgroundImage이 이미지를 제공하지 않으면 UIButton에서 확장하는 맞춤 검색 버튼을 만듭니다. 사용자 정의 단추에는 UIImage 변수가 인스턴스 변수로 있어야합니다. 변수를 초기화 할 때 원하는 이미지에 할당하십시오 (cellForRowAtIndexPath 메서드에서). 그런 다음 버튼 대상 메서드의 이미지에 액세스 할 수 있습니다.

+1

'UIButton * imageButton = [[UIButton alloc] .......... forControlEvents : UIControlEventTouchUpInside]; [cell addSubview : imageButton];'사용자 지정 UITableViewCell 클래스로 이동되었습니다. 'addSubview : '를 호출 할 때마다 값이 비쌉니다. – byJeevan

+0

예. 동의합니다. 나는 그것이 어떻게 행해졌는지 그에게 보여주기 위해 이렇게했다. 가장 좋은 방법은 사용자 지정 UITableViewCell 클래스를 만드는 것입니다. – Arun

+0

UITableViewCell Class.Suggest를 사용하여 수행하는 방법. –

관련 문제