i want to hide the side menu whenever the user taps anywhere outside. The menu is appearing but i can't find any way to come out of it. any suggestions regarding hidesOnTap will also be appreciated. I have also used a table view to display side menu contents, whenever user taps on any option it gets redirected to that page. How to hide the menu without making any selection. Below is the code
#import "MainMenuViewController.h"
#import "UIImageView+AFNetworking.h"
#import "ProfileViewController.h"
#import "ChatMenuHomeVC.h"
@interface MainMenuViewController ()
{
NSString *username;
NSString *profilestr;
}
@property (nonatomic, weak) IBOutlet UITableViewCell *cellMain;
@end
@implementation MainMenuViewController
@synthesize lblUserName,profilePic;
- (id)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil
{
self = [super initWithNibName:nibNameOrNil bundle:nibBundleOrNil];
if (self)
{
// Custom initialization
}
return self;
}
- (void)viewDidLoad
{
//SideMenuToProfileView
arrOfOptions = [[NSMutableArray alloc]init];
[self addTitle:@"Home" imageName:@"icon-sidemenu-home.png" segueName:@"slidingToHome"];
[self addTitle:@"My Chat" imageName:@"icon-sidemenu-chat.png" segueName:@"ChatHomeVc"];
[self addTitle:@"Invite Friends" imageName:@"icon-sidemenu-invite.png" segueName:@""];
[self addTitle:@"Settings" imageName:@"icon-sidemenu-setting.png" segueName:@"slidingToSettings"];
[super viewDidLoad];
UITapGestureRecognizer *tapAction1 = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(profileVC:)];
tapAction1.numberOfTapsRequired = 1;
profilePic.userInteractionEnabled = YES;
[profilePic addGestureRecognizer:tapAction1];
username = [[NSUserDefaults standardUserDefaults]
stringForKey:@"UserName"];
profilestr = [[NSUserDefaults standardUserDefaults] stringForKey: @"UserProfilePic"];
self.lblUserName.text = username;
[profilePic setImageWithURL:[NSURL URLWithString:profilestr] placeholderImage:[UIImage imageNamed:@"user"]];
self.profilePic.layer.cornerRadius = self.profilePic.frame.size.width / 2;
self.profilePic.clipsToBounds = YES;
// Do any additional setup after loading the view.
}
-(void)addTitle:(NSString *)title imageName:(NSString *)imageName segueName:(NSString *)segue
{
NSMutableDictionary *dic = [[NSMutableDictionary alloc]init];
[dic setObject:title forKey:@"title"];
[dic setObject:imageName forKey:@"image"];
[dic setObject:segue forKey:@"segue"];
[arrOfOptions addObject:dic];
}
- (void)profileVC:(UITapGestureRecognizer *)tapGesture
{
[self performSegueWithIdentifier:@"SideMenuToProfileView" sender:self];
}
- (void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender
{
if ([segue.identifier isEqualToString:@"SideMenuToProfileView"])
{
ProfileViewController *destViewController = segue.destinationViewController;
destViewController.senderStr = @"fromUserSideMenu";
}
}