#import <UIKit/UIKit.h> @protocol TableCellDelegate <NSObject> - (void)choseTerm:(UIButton *)button; @end @interface TableViewCell : UITableViewCell @property (weak, nonatomic) IBOutlet UIButton *checkButton; @property (weak, nonatomic) IBOutlet UIButton *checkButton2; @property (weak, nonatomic) IBOutlet UILabel *label; @property (assign, nonatomic) BOOL isChecked; @property (assign, nonatomic) id<TableCellDelegate> delegate; - (IBAction)checkAction:(UIButton *)sender; - (IBAction)checkAction2:(UIButton *)sender;
.m文件
#import "TableViewCell.h" @implementation TableViewCell - (void)awakeFromNib { // Initialization code } - (void)setSelected:(BOOL)selected animated:(BOOL)animated { [super setSelected:selected animated:animated]; // Configure the view for the selected state } - (IBAction)checkAction:(UIButton *)sender { if ([_delegate respondsToSelector:@selector(choseTerm:)]) { sender.tag = self.checkButton.tag; NSLog(@"tag:%ld",self.checkButton.tag); [_delegate choseTerm:sender]; } } - (IBAction)checkAction2:(UIButton *)sender { if ([_delegate respondsToSelector:@selector(choseTerm:)]) { sender.tag = self.checkButton2.tag; NSLog(@"tag2:%ld",self.checkButton2.tag); [_delegate choseTerm:sender]; } } @end
viewcontroller.m
#import "ViewController.h" #import "TableViewCell.h" @interface ViewController ()<UITableViewDelegate, UITableViewDelegate, TableCellDelegate> @end @implementation ViewController - (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. } - (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section { return 5; } - (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath { static NSString *cellIdentifier = @"Cell"; static BOOL nibsRegistered = NO; if (!nibsRegistered) { UINib *nib = [UINib nibWithNibName:@"TableViewCell" bundle:nil]; [tableView registerNib:nib forCellReuseIdentifier:cellIdentifier]; nibsRegistered = YES; } TableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:cellIdentifier]; cell.delegate = self; cell.checkButton.tag = indexPath.row*1000+1; cell.checkButton2.tag = indexPath.row*1000+2; NSLog(@"checkButton.tag:%ld;checkButton2.tag=%ld",cell.checkButton.tag,cell.checkButton2.tag); cell.label.text = [NSString stringWithFormat:@"%ld",(long)indexPath.row]; return cell; } - (void)choseTerm:(UIButton *)button { _clickIndex = button.tag; if (_clickIndex%1000 == 1) { NSLog(@"第一列!"); UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"确定修改学期吗?" message:nil delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil,nil]; [alertView show]; }else { NSLog(@"第二列!"); } } @end