gpt4 book ai didi

ios - 从UICellView中的UIButton调用函数

转载 作者:行者123 更新时间:2023-12-01 18:09:04 27 4
gpt4 key购买 nike

我有带有自定义单元格的UITableView。在单元格上,我有一个按钮,以及viewController(包含UITableView)中的方法

我的按钮单击实现在myCustomCell类内部。

问题是-从viewController调用myCustomCell方法的最简单方法是什么?

我想到了代表和NSNotificationCenter。但是也许还有另一种方式。

编辑

enter image description here

最佳答案

将以下行放在myCustomCell.h中

@protocol ButtonTapDelegate

- (void) buttonDidTap:(UIButton*) button;

@end

@property (nonatomic, weak) NSObject<ButtonTapDelegate> *vs_delegate;

-(void) buttonIsPressed;

在您的myCustomCell.m中
@synthesize vs_delegate;

-(void) buttonIsPressed:(UIButton*)button {

if([delegate conformsToProtocol:@protocol(ButtonTapDelegate)] && [delegate respondsToSelector:@selector(buttonDidTap:)]) {
[vs_delegate buttonDidTap:button];
}
}

在你的viewController.h中
myViewController : UIViewController <ButtonTapDelegate>

在您的viewController.m中,方法内
- (UITableViewCell *)tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath *)indexPath {
[cell set.Vs_delegate:self];
[cell.button setTag:indexPath.row];
[cell.button addTarget:self action:@selector(buttonIsPressed) forControlEvents:UIControlEventTouchUpInside];
[cell.button buttonIsPressed:indexPath.row];

将以下方法放入ViewController.m中
- (void) buttonDidTap:(UIButton*) button {
// You have index, by Button's tag.
}

关于ios - 从UICellView中的UIButton调用函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35361806/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com