2011-10-08 5 views
0

테이블보기에서 사용자 지정 단추를 만들고 싶습니다. 해당 단추를 클릭하면 레이블이 현재 날짜와 함께 만들어집니다. 해당 단추에는 확인란 기능도 구현해야합니다. 체크 박스 기능에 대한 코드를 다음과 같이 구현했습니다. 제대로 작동하지만 예를 확인하여 레이블을 만들 수 있습니다. 미리 감사드립니다.테이블보기 셀에 사용자 지정 단추를 만드는 방법

 UIButton *btnUncheck=[[UIButton alloc] initWithFrame:CGRectMake(260, 35, 20, 20)]; 

    //btnUncheck=[UIButton buttonWithType:UIButtonTypeCustom]; 
    btnUncheck.tag=indexPath.row; 
[btnUncheck setImage:[UIImage imageNamed:@"NO.png"] forState:UIControlStateNormal]; 
[btnUncheck addTarget:self action:@selector(checkBoxClicked:) forControlEvents:UIControlEventTouchUpInside]; 


    [btnUncheck release]; 

[cell.contentView addSubview:view]; 


    return cell; 

} 예, 당신이 할 수있는

 -(IBAction)checkBoxClicked:(id)sender 
     { 


    if(favoriteChecked==NO) 
{ 


    [sender setImage:[UIImage imageNamed:@"YES.png"] forState:UIControlStateNormal]; 
     favoriteChecked=YES; 
    [lblAchievementreward setHidden:NO]; 
     } 
else 
{ 


    [sender setImage:[UIImage imageNamed:@"NO.png"] forState:UIControlStateNormal]; 
    favoriteChecked=NO; 
     } 

답변

1

. checkBoxClicked:에서 체크 된 항목의 행을 인스턴스 변수에 저장하십시오. 그런 다음 cellForRowAtIndexPath가 다시 호출되도록 행을 다시로드하십시오. 그런 다음

self.checkedRow = sender.tag; 
[self.tableView reloadRowsAtIndexPaths:[NSArray arrayWithObject:[NSIndexPath indexPathWithIndex:sender.tag]] withRowAnimation:UITableViewRowAnimationNone]; 

, cellForRowAtIndexPath:에, self.checkedRow 확인하고 레이블을 추가 같은 - 뭔가. Like-like

if(indexPath.row == self.checkedRow) 
{ 
     UILabel* label = [[UILabel alloc] init]; 
     //label.text = [NSDate date]; //use date formatters here 
     [cell.contentView addSubview:label]; 
} 
관련 문제