본문 바로가기

iPhone

테이블 뷰 셀 커스텀 적용 부분

커스텀 셀 부분 

MainVisitLisetCell.h 파일 ( 테이블 뷰 셀 커스텀 )

#import <UIKit/UIKit.h>

@interface MainVisitLisetCell : UITableViewCell{

    IBOutlet UIButton* deleteBtn;

    IBOutlet UILabel* name;

    IBOutlet UILabel* date;

    IBOutlet UILabel* company;

    IBOutlet UILabel* room;

    IBOutlet UIImageView* topImage;

    IBOutlet UIImageView* bottomImage;

}

@property (retain, nonatomic) IBOutlet UIButton* deleteBtn;

@property (retain, nonatomic) IBOutlet UILabel* name;

@property (retain, nonatomic) IBOutlet UILabel* date;

@property (retain, nonatomic) IBOutlet UILabel* company;

@property (retain, nonatomic) IBOutlet UILabel* room;

@property (retain, nonatomic) IBOutlet UIImageView* topImage;

@property (retain, nonatomic) IBOutlet UIImageView* bottomImage;

@end


MainVisitLisetCell.m 파일 

#import "MainVisitLisetCell.h"

@implementation MainVisitLisetCell

@synthesize name;

@synthesize deleteBtn;

@synthesize company;

@synthesize date;

@synthesize room;

@synthesize topImage;

@synthesize bottomImage;

@end


테이블 뷰의 셀 세팅 부분, 셀내부 버튼 이벤트 처리 부분

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

 //커스텀 된 세을 만들고  

 MainVisitLisetCell* cell = [tableView dequeueReusableCellWithIdentifier:mainVisitLisetCell];

        if(cell == nil){

        //붙인다.            

            cell = [[[NSBundle mainBundle] loadNibNamed:@"MainVisitLisetCell" owner:self options:nil] lastObject];

       // 셀의 버튼을 클릭 했을 때  deleteMemberBtnClick 함수 호출 

             [cell.deleteBtn addTarget:self action:@selector(deleteMemberBtnClick:) forControlEvents:UIControlEventTouchUpInside]; 

        }

         // 데이터를 가져와서 세팅한다.  ( 코드 생략 )

          NSArray* getArray = [visitMemberArray objectAtIndex:indexPath.row];

           cell.name.text = [getArray objectAtIndex:1];

           cell.date.text = [getArray objectAtIndex:3];


       // 셀의 딜리트 버튼에 tag를 주어 구분한다.

        cell.deleteBtn.tag = indexPath.row;

        return cell;

}

//딜리트 버튼 클릭 시 호출되는 함수 

-(void)deleteMemberBtnClick:(UIButton*)sender

{

    // 테그된 해당하는 list를 지우고 테이블을 갱신한다.

    [visitMemberArray removeObjectAtIndex: sender.tag];

    [visitTableView reloadData];     

}