There is nothing wrong with the answers presented; however I wanted to extend jlarjlar's answer as it holds amazing potential that can add value to the same problem with other controls (e.g. SearchBar). This is because since pointInside is attached to a UIView, one is able to subclass any control to improve the touch area. This answer also shows a full sample of how to implement the complete solution.
Create a new subclass for your button (or any control)
#import <UIKit/UIKit.h>
@interface MNGButton : UIButton
@end
Next override the pointInside method in your subclass implementation
@implementation MNGButton
-(BOOL)pointInside:(CGPoint)point withEvent:(UIEvent *)event
{
//increase touch area for control in all directions by 20
CGFloat margin = 20.0;
CGRect area = CGRectInset(self.bounds, -margin, -margin);
return CGRectContainsPoint(area, point);
}
@end
On your storyboard/xib file select the control in question and open the identity inspector and type in the name of your custom class.

In your UIViewController class for scene containing the button, change the class type for the button to the name of your subclass.
@property (weak, nonatomic) IBOutlet MNGButton *helpButton;
Link your storyboard/xib button to the property IBOutlet and your touch area will be expanded to fit the area defined in the subclass.
In addition to overriding the pointInside method together with the CGRectInset and CGRectContainsPoint methods, one should take time to examine the CGGeometry for extending the rectangular touch area of any UIView subclass. You may also find some nice tips on CGGeometry use-cases at NSHipster.
For example one could make the touch area irregular using the methods mentioned above or simply choose to make the width touch area twice as large as the horizontal touch area:
CGRect area = CGRectInset(self.bounds, -(2*margin), -margin);
NB: Substituting any UI Class control should produce similar results on extending the touch area for different controls (or any UIView subclass, like UIImageView, etc).