2013-03-08 3 views
0

나는 아이폰을 처음 사용하고 있으며 요구 사항이 UITableView 인 프로젝트에서 sections 두 개가 있습니다. 첫 번째 섹션에서는 주소를 표시하고 두 번째 섹션에는 Phone number, Fax, Email, and SMS으로 구성된 네 개의 변수 행이 있습니다. 항목 (phone,fax,email,sms) 중 하나에 데이터가 없으면 해당 행은 표시되지 않으며 각 행에는 버튼이 포함됩니다. 이 UIButton을 클릭하면 전화 행에있는 버튼을 클릭 한 다음 현명한 것처럼 전화에 연결해야하는 것처럼 특정 기능을 수행해야합니다.TableCell 버튼과 다른 버튼 동작

내 문제는 행이 고정되어 있지 않기 때문에 UIButton 동작을 구분할 수 없다는 것입니다. 그래서 특정 행 데이터에 따라 작업을 동적으로 수행하는 방법. 현재 모든 행에 대해 하나의 작업 만 수행 할 수 있습니다.

+0

문제가 조치를 호출하는 경우 다음 여기에 내 대답을 읽으십시오 : http://stackoverflow.com/questions/15292997/adding-a-integer-after-variable-name-to-access/15293136#15293136 –

답변

1

enum을 사용하여 셀 유형을 정의하십시오. 처리기에서 열거 형을 확인하십시오.

typedef enum { 
    CellTypePhone = 100, 
    CellTypeFax, 
    CellTypeEmail, 
    CellTypeSMS 
} CellType; 

예를 들어 셀이나 버튼에 태그를 지정하는 데 사용합니다.

cell.tag = CellTypePhone; 
button.tag = CellTypePhone; 

그러면 단추 처리기에서 어떤 셀이 선택되었는지 알 수 있습니다.

-(void)buttonPressed:(UIButton*)sender { 
    if  (sender.tag == CellTypePhone)  { /* handle phone */ } 
    else if (sender.tag == CellTypeFax)  { /* handle fax */ } 
    // etc. 
} 
+0

우리는 테이블 뷰 셀에서 다른 태그를 동일한 버튼으로 설정할 수 있으며 동적 인 것이어야합니다. 전화 번호처럼. 셀을 사용할 수있는 경우에만 태그해야합니다. – Rahul

+0

버튼을 동적으로 변경할 때마다 태그도 변경하십시오. – Mundi

0

UIButtons에 다른 태그 번호를 지정하십시오. IB를 사용하여 단추에 태그 번호를 부여한 다음 그에 따라 적절한 태그 값을 호출 할 수 있습니다.

0

여러 가지 방법으로 처리 할 수 ​​있습니다. 나는 사용자 정의 셀에 UILabelUIButton이 있다고 가정합니다. 우선 Mundi가 말한 것처럼 태그를 추가하는 것입니다.

두 번째 옵션은 단추의 대상과 동작을 설정하는 사용자 지정 셀에 메서드를 추가하는 것입니다. 데이터를 기반으로 셀을 설정하는 경우 각 단추에 대한 선택기도 설정할 수 있습니다.