xib方式 在tableviewcell上添加button (代理方式)

3 篇文章 0 订阅


在MyTableViewCell.h中:

#import <UIKit/UIKit.h>

@protocol  CellClickButtonDelegate <NSObject>



-(void)choseTerm:(UIButton *)button withImg:(UIImage *)img;



@end


@interface MyTableViewCell : UITableViewCell

@property (nonatomic,strong) id<CellClickButtonDelegate> delegate;


@end


//*******************************************************************************************************************

在MyTableViewCell.m中:


#import "MyTableViewCell.h"


@implementation MyTableViewCell


- (void)awakeFromNib {

    // Initialization code

}


- (void)setSelected:(BOOL)selected animated:(BOOL)animated {

    [super setSelected:selected animated:animated];


    // Configure the view for the selected state

}

- (IBAction)clicked1:(id)sender {


        

        if (_delegate != nil&&[_delegate respondsToSelector:@selector(choseTerm:withImg:)]) {

            

            [_delegate choseTerm:sender withImg:[UIImage imageNamed:@"welcome1.jpg"]];

            

        }

    


}

- (IBAction)click2:(id)sender {


        if (_delegate != nil&&[_delegate respondsToSelector:@selector(choseTerm:withImg:)]) {

           

  [_delegate choseTerm:sender withImg:[UIImage imageNamed:@"welcome2.jpg"]];

        }



}

- (IBAction)click3:(id)sender {


        

        if (_delegate != nil&&[_delegate respondsToSelector:@selector(choseTerm:withImg:)]) {

            

  [_delegate choseTerm:sender withImg:[UIImage imageNamed:@"welcome3.jpg"]];

        }



}


@end


//*******************************************************************************************************************

在MyTableViewCell.xib中:




//*******************************************************************************************************************

在TableViewController.m中(.h中无代码):


#import "TableViewController.h"


#import "MyTableViewCell.h"


#import "TestViewController.h"


@interface TableViewController ()<CellClickButtonDelegate>


@end


@implementation TableViewController


- (void)viewDidLoad {

    [super viewDidLoad];

    

    [self.tableView registerNib:[UINib nibWithNibName:@"MyTableViewCell" bundle:nil] forCellReuseIdentifier:@"cell"];

}


- (void)didReceiveMemoryWarning {

    [super didReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

}


#pragma mark - Table view data source


- (NSInteger)numberOfSectionsInTableView:(UITableView *)tableView {


    return 1;

}


- (NSInteger)tableView:(UITableView *)tableView numberOfRowsInSection:(NSInteger)section {


    return 10;

}



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

    MyTableViewCell *cell = [tableView dequeueReusableCellWithIdentifier:@"cell" forIndexPath:indexPath];

    

    cell.delegate = self;

    

    return cell;

}


#pragma mark ---cell中代理方式完成跳转页面和传值------

-(void)choseTerm:(UIButton *)button withImg:(UIImage *)img{


    TestViewController *vc = [[TestViewController alloc]init];

    vc.img = img;

    

    [self.navigationController pushViewController:vc animated:YES];

  


}

-(CGFloat)tableView:(UITableView *)tableView heightForRowAtIndexPath:(NSIndexPath *)indexPath{


    return 270;


}


/*

// Override to support conditional editing of the table view.

- (BOOL)tableView:(UITableView *)tableView canEditRowAtIndexPath:(NSIndexPath *)indexPath {

    // Return NO if you do not want the specified item to be editable.

    return YES;

}

*/


/*

// Override to support editing the table view.

- (void)tableView:(UITableView *)tableView commitEditingStyle:(UITableViewCellEditingStyle)editingStyle forRowAtIndexPath:(NSIndexPath *)indexPath {

    if (editingStyle == UITableViewCellEditingStyleDelete) {

        // Delete the row from the data source

        [tableView deleteRowsAtIndexPaths:@[indexPath] withRowAnimation:UITableViewRowAnimationFade];

    } else if (editingStyle == UITableViewCellEditingStyleInsert) {

        // Create a new instance of the appropriate class, insert it into the array, and add a new row to the table view

    }   

}

*/


/*

// Override to support rearranging the table view.

- (void)tableView:(UITableView *)tableView moveRowAtIndexPath:(NSIndexPath *)fromIndexPath toIndexPath:(NSIndexPath *)toIndexPath {

}

*/


/*

// Override to support conditional rearranging of the table view.

- (BOOL)tableView:(UITableView *)tableView canMoveRowAtIndexPath:(NSIndexPath *)indexPath {

    // Return NO if you do not want the item to be re-orderable.

    return YES;

}

*/


/*

#pragma mark - Navigation


// In a storyboard-based application, you will often want to do a little preparation before navigation

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

    // Get the new view controller using [segue destinationViewController].

    // Pass the selected object to the new view controller.

}

*/


@end

//*******************************************************************************************************************

在跳转之后的页面TestViewController.h中:

@interface TestViewController : UIViewController

//属性传值

@property (nonatomic,strong) UIImage  *img;


@end

//*******************************************************************************************************************

在跳转之后的页面TestViewController.m中:

#import "TestViewController.h"


@interface TestViewController ()

@property (weak, nonatomic) IBOutlet UIImageView *myImgv;


@end


@implementation TestViewController


- (void)viewDidLoad {

    [super viewDidLoad];


    self.myImgv.image = self.img;


}


- (void)didReceiveMemoryWarning {

    [super didReceiveMemoryWarning];

    // Dispose of any resources that can be recreated.

}


/*

#pragma mark - Navigation


// In a storyboard-based application, you will often want to do a little preparation before navigation

- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender {

    // Get the new view controller using [segue destinationViewController].

    // Pass the selected object to the new view controller.

}

*/


@end

//*******************************************************************************************************************

在跳转之后的页面TestViewController.xib中:



//*******************************************************************************************************************

效果:




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值