我正在使用UIImageView,在我的应用中添加了两个按钮作为子视图。但是,如果我尝试单击按钮,则它们没有响应。有这个原因还是修复?
- (void)showPopover {
if (isClicked == NO) {
if (popover == nil) {
popover = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"Popover.png"]];
[popover setFrame:CGRectMake(190, -10, 132, 75)];
UIButton *btn1 = [UIButton buttonWithType:UIButtonTypeCustom];
[btn1 setFrame:CGRectMake(30, 30, 24, 24)];
[btn1 setBackgroundColor:[UIColor clearColor]];
[btn1 setImage:[UIImage imageNamed:@"Bookmark.png"] forState:UIControlStateNormal];
[btn1 addTarget:self action:@selector(addFav) forControlEvents:UIControlStateNormal];
[popover addSubview:btn1];
UIButton *btn2 = [UIButton buttonWithType:UIButtonTypeCustom];
[btn2 setFrame:CGRectMake(80, 30, 24, 24)];
[btn2 setBackgroundColor:[UIColor clearColor]];
[btn2 setImage:[UIImage imageNamed:@"ButtonBarReload.png"] forState:UIControlStateNormal];
[btn2 addTarget:self action:@selector(doHud) forControlEvents:UIControlStateNormal];
[popover addSubview:btn2];
isClicked = YES;
}
popover.alpha = 0.0;
isClicked = YES;
[self.view.superview addSubview:popover];
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.0];
popover.alpha = 1.0;
[UIView commitAnimations];
}
else if (isClicked == YES) {
[popover setAlpha:1.0];
isClicked = NO;
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:1.0];
[popover setAlpha:0.0];
[popover removeFromSuperview];
[UIView commitAnimations];
popover = nil;
[popover release];
}
}
答案 0 :(得分:2)
默认情况下,图像视图设置为禁用用户交互。试试imageView.userInteractionEnabled = YES;
。
答案 1 :(得分:1)
将userInteractionEnabled设置为YES
对于UIImageView ....
此属性继承自 UIView父类。这个班 更改此默认值 财产到NO。