将 initWithCoder: 实现转换为 Swift 时,不会触发手势识别器选择器
Gesture recognizer selector is not triggered when translating initWithCoder: implementation to Swift
我在 Objective-C 中有以下代码需要转换为 Dwift。
- (instancetype)initWithCoder:(NSCoder *)aDecoder
{
self = [super initWithCoder:aDecoder];
if (self) {
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapped)];
[self addGestureRecognizer:tap];
}
return self;
}
我尝试了以下方法,但没有触发选择器:
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
let x:UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(tapped))
}
这里有什么问题?
您的 Objective-C 代码调用 addGestureRecognizer
。您的 Swift 代码没有。
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
let x:UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(tapped))
addGestureRecognizer(x)
}
我在 Objective-C 中有以下代码需要转换为 Dwift。
- (instancetype)initWithCoder:(NSCoder *)aDecoder
{
self = [super initWithCoder:aDecoder];
if (self) {
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(tapped)];
[self addGestureRecognizer:tap];
}
return self;
}
我尝试了以下方法,但没有触发选择器:
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
let x:UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(tapped))
}
这里有什么问题?
您的 Objective-C 代码调用 addGestureRecognizer
。您的 Swift 代码没有。
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
let x:UITapGestureRecognizer = UITapGestureRecognizer(target: self, action: #selector(tapped))
addGestureRecognizer(x)
}