开发者

Buttons added to a UIImageView are unresponsive

开发者 https://www.devze.com 2023-02-28 15:07 出处:网络
I am using a UIImageView with two buttons added as a subview in my app. However, if I try to click the 开发者_如何学Gobuttons, they are unresponsive. Is there a reason for this, or a fix?

I am using a UIImageView with two buttons added as a subview in my app. However, if I try to click the 开发者_如何学Gobuttons, they are unresponsive. Is there a reason for this, or a fix?

- (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];
    }
}


By default, image views are set to disable user interaction. Try imageView.userInteractionEnabled = YES;.


set userInteractionEnabled to YES

For UIImageView....

This property is inherited from the UIView parent class. This class changes the default value of this property to NO.

0

精彩评论

暂无评论...
验证码 换一张
取 消