此代码在UIView容器中工作,但在将该容器更改为UIViewController后,代码不再有效:
-(void)viewDidLoad
{
[super viewDidLoad];
[self.view setUserInteractionEnabled:YES];
// set button
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
button.frame = CGRectMake(60, 30, 220, 220);
[button setImage:self.obj.img forState:UIControlStateNormal];
[button addTarget:self action:@selector(selected:) forControlEvents:UIControlEventTouchUpInside];
[button setUserInteractionEnabled:YES];
[self.view addSubview:button];
}
-(void) selected:(UIButton *) button // also tried (id) sender
{
NSLog(@“Button Selected“);
}
这些容器是以编程方式(动态)从Web服务创建的,因此我无法使用Storyboard。更改为UIViewController的原因是我需要一个segue到另一个屏幕。此外,这些容器放在UIScrollView中。
除选择器外,其他所有工作都正常。
之前没有必要设置userInteraction,但我已经开始尝试使用不同的配置。我已经将它添加到scrollview,viewController和按钮,只是为了很好的衡量。
我甚至尝试过一些在线教程,以编程方式在UIViewControllers中创建UIButtons,并且能够做到这一点。不知道这里的问题是什么。感谢。