Ios 我不知道';我不明白为什么这个@selector是';行不通
我正在创建几个Ios 我不知道';我不明白为什么这个@selector是';行不通,ios,uiview,action,selector,uigesturerecognizer,Ios,Uiview,Action,Selector,Uigesturerecognizer,我正在创建几个UIView,我添加了一个带有操作的uitagesturerecognizer,该操作假定调用视图控制器中的一个方法,但它似乎不起作用 -(void)setupFreeMoneyView { NSArray *array = @[@"Facebook", @"Twitter", @"SMS", @"Email"]; int index = 0; for (NSString *str in array) { UIImageView *imgVi
UIView
,我添加了一个带有操作的uitagesturerecognizer
,该操作假定调用视图控制器中的一个方法,但它似乎不起作用
-(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
我用正常的@selector()
检查了NSSelector fromstring()
是否有问题,但这不是原因
如果我将行[imgView addGestureRecognizer:…
更改为[freeView addGestureRecognizer:…]
我只是不明白为什么会发生这种情况。试试这个
imgView.userInteractionEnabled=YES;
UIImageView
的userInteractionEnabled
默认设置为否。也许您需要为UIImageView设置userInteractionEnabled=YES您需要将userInteractionEnabled=YES设置为YES,因为默认设置为NO。因此ImageView将接收到触摸交互查看您的IniWithTarget:参数。这就是您正在尝试调用的se选择器。请确保它与实现您要调用的选择器的选择器匹配。