iOS 는 사용자 정의 table View 에 button 클릭 이 벤트 를 추가 한 후 번 호 를 가 져 옵 니 다.

전송:http://www.cnblogs.com/fookehi/p/3797788.html
사용자 정의 table View 에서 cell 에 button 클릭 이 벤트 를 추가 한 후 해당 하 는 번 호 를 어떻게 가 져 옵 니까?
1. tableView 생 성:
먼저 구성원 변 수 를 만 듭 니 다:
@interface MyCameraViewController ()
{

  UITableView *_tableView;

}
@end

viewdLoad 에서 초기 화
_tableView = [[UITableView alloc] initWithFrame:CGRectMake(0, 65, 320, [UIScreen mainScreen].bounds.size.height-65) style:UITableViewStylePlain];
    _tableView.delegate = self;
    _tableView.dataSource = self;
    _tableView.backgroundColor = [UIColor clearColor];
    [self.view addSubview:_tableView];

2. 실현 해 야 할 대리 방법
#pragma mark - Table view data source

//  
- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView
{
    // Return the number of sections.
    return 1;
}

//cell   
- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section
{
    // Return the number of rows in the section.
    return 10;
}

3. cell 생 성
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath
{
   static NSString *CellIdentifier = @"Cell";
   UITableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:CellIdentifier];
    // Configure the cell...
        if (nil == cell) {
         cell = [[UITableViewCell alloc] initWithFrame:CGRectMake(0, 0, 320, 44)];
    cell.textLable.text = @"hello,  ";

    UIButton *button = [ UIButton buttonWithType:UIButtonTypeCustom ];
            CGRect frame = CGRectMake( 0.0 , 0.0 , 30 , 24 );
            button.frame = frame;
  //        [button setImage:image forState:UIControlStateNormal ];    //   button    
  //         button.backgroundColor = [UIColor clearColor ];
            [button addTarget:self action:@selector(accessoryButtonTappedAction:) forControlEvents:UIControlEventTouchUpInside];

    //  button  cell  accessoryView
            cell. accessoryView = button;
  }

  return cell;
}

//  button     
- (void)accessoryButtonTappedAction:(id)sender
{
    UIButton *button = (UIButton *)sender;
    UITableViewCell  *cell;
    if (iOS7) {
        cell = (UITableViewCell *)button.superview.superview;
    }
      else
    {
        cell = (UITableViewCell *)button.superview;
    }
    int row = [_tableView indexPathForCell:cell].row;  //row  button     
}

좋은 웹페이지 즐겨찾기