iOS---点击tableviewcell中的按钮

年嘉禧
2023-12-01

在tableviewcell的.h中加入




#import <UIKit/UIKit.h>


/** ---------------------------------------------------------------------------*/


@class Attentioncell;


// 协议方法

@protocol AttentioncellDelegate <NSObject>


@optional

- (void)attentionButton:(Attentioncell *)showCell button:(UIButton *)button;


@end




/** ---------------------------------------------------------------------------*/


@interface Attentioncell : UITableViewCell

// 代理

@property (weak, nonatomic) id<AttentioncellDelegate> delegate;





/** ---------------------------------------------------------------------------*/

在.m的按钮点击事件中加入



- (IBAction)ClickAttentionBtn:(id)sender {

    

    if ([self.delegaterespondsToSelector:@selector(attentionButton:button:)]) {

        [self.delegateattentionButton:selfbutton:sender];

    }

    

    

    

}



/** ---------------------------------------------------------------------------*/


然后在UITableViewController 中加入代理

<AttentioncellDelegate>

 每行显示内容

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


  cell.delegate=self;


}


/** ---------------------------------------------------------------------------*/


最后

#pragma mark -点击提问


- (void)attentionButton:(Attentioncell *)showCell button:(UIButton *)button

{

    // 进行相关界面的跳转/操作

    NSLog(@"关注成功!");

    

//获取所在的行数

    UITableViewCell * cell = (UITableViewCell *)[[button superview] superview];

    NSIndexPath * indexPath = [self.tableView indexPathForCell:cell];

    

    NSLog(@"index row%lu", [indexPath row]);

    

    //数据

    _busData=_userbData.business[indexPath.row];

    

    

    

    // 进行相关界面的跳转/操作----提问

    AskQuestion *askQuestion= [[AskQuestion alloc]init];

    askQuestion.hidesBottomBarWhenPushed=YES;

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

    

    

    

}




 类似资料: