Button click not responding in ScrollView when I create outlet of ScrollView in iOS

ios, objective-c, uiscrollview, uiscrollviewdelegate

Solution

I figured out the problem was because of adding tap gesture, because when your button is inside scrollview the first tap it works for scrollview and not button, so all I had to do is check if touch is for button or not. Here is the code that fixed this issue.

-(BOOL)gestureRecognizer:(UIGestureRecognizer *)gestureRecognizer shouldReceiveTouch:(UITouch *)touch
{
    if (self.scrollView.superview != nil) {
        if ([touch.view isKindOfClass:[UIButton class]])
             {
            return NO; // ignore the touch
        }
    }
    return YES; // handle the touch

}

Add delegate UIGestureRecognizerDelegate and in viewdidload add this line in the end

singleTap.delegate = self;

Problem

I have a Button1 outside ScrollView and another Button2 inside scrollview. I am using storyboard. I have used drag drop segue from both buttons to a different view. Button1 works fine, the problem is with Button2, it doesnt work no matter how many times I click, it only works when I click and drag (strange!!). When I troubleshooted I found that whenever I create an outlet of scrollview it behaves this way, if I remove the connection of scrollview to the outlet it works fine, but I need the outlet for the scrollview to work. Any solution on how I can get this done? This is a sample code of my view did load if it helps ``` - (void)viewDidLoad { [super viewDidLoad]; self.view.backgroundColor = [UIColor colorWithPatternImage:[UIImage imageNamed:@"bg.png"]]; self.scrollView.contentSize =CGSizeMake(320, 500); UITapGestureRecognizer *singleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(resignKeyboard)]; [self.scrollView addGestureRecognizer:singleTap]; singleTap.numberOfTapsRequired = 1; } -(void) resignKeyboard { [self.view endEditing:YES]; } ``` This is how I defined the outlet ``` @property (strong, nonatomic) IBOutlet UIScrollView *scrollView; ``` Note that Button2 Click does work but on click and drag/swipe not on single or multiple clicks. EDIT:I checked and found that it works fine for simulator 6.1 but not for 5.0

Original source