我创建几个UIView
的,我加UITapGestureRecognizer
与action
这就是想打电话给在viewController
的方法,但它似乎并没有工作。我不明白为什么这个@selector不工作
-(void)setupFreeMoneyView {
NSArray *array = @[@"Facebook", @"Twitter", @"SMS", @"Email"];
int index = 0;
for (NSString *str in array) {
UIImageView *imgView = [[UIImageView alloc] initWithFrame:CGRectMake(100*index++, 0, 100, 100)];
[imgView setImage:[UIImage imageNamed:[NSString stringWithFormat:@"%@Logo", str]]];
[imgView addGestureRecognizer:[[UITapGestureRecognizer alloc]
initWithTarget:self
action:NSSelectorFromString([NSString stringWithFormat:@"postTo%@", str])]];
[freeView addSubview:imgView];
}
}
freeView
是在MainStoryboard
创建UIView
。
我检查了是否NSSelectorFromString()
通过使用正常的@selector()
那不工作,但它不是原因。
如果我改变行[imgView addGestureRecognizer:...
到[freeView addGestureRecognizer:...]
我似乎就是不明白为什么会这样,它工作。
u需要设置userInteractionEnabled = YES,因为它默认为NO。所以触摸交互将通过imageView – CoolMonster
收到你的iniiWithTarget:参数。这是您试图呼叫的选择对象。确保它与实现您之后选择器的那个匹配。 – verec