gpt4 book ai didi

ios - 将手势检测添加到可重用 UITableCellView 中使用的自定义 UIView 的正确方法是什么?

转载 作者:行者123 更新时间:2023-11-28 20:08:49 25 4
gpt4 key购买 nike

我有一个自定义的 UIView。使用我的 StoryBoard,我将一个 UIView 小部件添加到我在 StoryBoard 中绘制的 UITableCellView。我将类更改为我的自定义类 (ValveStatusView)。我确保点击了 User Interaction Enabled。我在我的类中实现了以下内容(除了所需的 drawRect: 和其他方法)。

@implementation ValveStatusView
- (id)initWithFrame:(CGRect)frame
{
self = [super initWithFrame:frame];
if (self) {
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tap:)];
[self addGestureRecognizer:tap];
}
return self;
}

- (void)tap: (UITapGestureRecognizer*)gesture {
NSLog(@"tapped");
}

...

但是没有用。我从来没有看到它被记录下来。我不能在 init... 方法中这样做吗?还是我需要在我的子类中实现其他东西才能启用它?

最佳答案

如果您在 Storyboard 中添加自定义 View ,则永远不会调用 initWithFrame 方法,这就是您没有添加点击手势的原因。

您可以在 UIViewawakeFromNib 方法中添加手势。

不确定您想要实现什么,但是可以使用 UITableView 委托(delegate)方法didSelectRowAtIndexPath:didDeselectRowAtIndexPath 处理此点击手势。

关于ios - 将手势检测添加到可重用 UITableCellView 中使用的自定义 UIView 的正确方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21056609/

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