#import <QuartzCore/QuartzCore.h>
other fixes:
1. Orientation in Portrait mode only instead of supporting all orientations they provide by default.
you must handle, drawerSide is not Equal to MMDrawerSideNone check, find given below:
- (void)setupNavigationBar:(id)target withNotificationBadge:(NSUInteger)badgeValue{
UIViewController *ctr = (UIViewController *)target;
CGRect leftFrame = CGRectMake(0,0,30,44)
UIView *view = [[UIView alloc] initWithFrame:leftFrame];
// logo Button
UIButton *logoBtn = [UIButton buttonWithType:UIButtonTypeCustom];
logoBtn.frame = CGRectMake(0,7,30,30);
logoBtn.userInteractionEnabled = YES;
[logoBtn setBackgroundImage:[UIImage imageNamed:@"YOUR_IMAGE_NAME"]forState:UIControlStateNormal];
[logoBtn addTarget:ctr action:@selector(leftDrawerButtonPress:)
forControlEvents:UIControlEventTouchUpInside];
[view addSubview:logoBtn];
// Notification Badge
if (badgeValue > 0){
NSInteger armLength = 20;
UILabel *badgeLbl = [[UILabel alloc] init];
badgeLbl.frame = CGRectMake(25, 2, armLength, armLength);
badgeLbl.text = [NSString stringWithFormat:@"%i",badgeValue];
badgeLbl.layer.cornerRadius = armLength/2;
badgeLbl.layer.masksToBounds = YES;
badgeLbl.backgroundColor = [UIColor redColor];
badgeLbl.textColor = [UIColor whiteColor];
badgeLbl.font = [UIFont systemFontOfSize:11.0f];
badgeLbl.textAlignment = UITextAlignmentCenter;
[view addSubview:badgeLbl];
}
UIBarButtonItem *leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:view];
ctr.navigationItem.leftBarButtonItem = leftBarButtonItem;
}
Drawer Button click function
To use instance of MMDrawerController, you just need to do #import "UIViewController+MMDrawerController.h"
- (void)leftDrawerButtonPress:(id)sender{
[self.mm_drawerController toggleDrawerSide:MMDrawerSideLeft animated:YES completion:nil];
}
In MMDrawerController.m file other fixes:
1. Orientation in Portrait mode only instead of supporting all orientations they provide by default.
-(BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)toInterfaceOrientation{
return (toInterfaceOrientation == UIInterfaceOrientationPortrait);
}
2. Drawer sliding either one of sideyou must handle, drawerSide is not Equal to MMDrawerSideNone check, find given below:
-(void)updateDrawerVisualStateForDrawerSide:(MMDrawerSide)drawerSide percentVisible:(CGFloat)percentVisible{
if(self.drawerVisualState){
if(drawerSide != MMDrawerSideNone)
self.drawerVisualState(self,drawerSide,percentVisible);
} else if(self.shouldStretchDrawer){
[self applyOvershootScaleTransformForDrawerSide:drawerSide percentVisible:percentVisible];
}
}
No comments:
Post a Comment