我創建幾個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