IOS学习(十八)简单slideMenu
来源:互联网 发布:美团众包抢单软件 编辑:程序博客网 时间:2024/05/21 18:32
#import "MainViewController.h"#import "FirstViewController.h"#import "SecondViewController.h"#import "MenuViewController.h"@interface MainViewController ()<MenuViewDelegate>@property(nonatomic, strong) NSArray *viewControllers;@property(nonatomic, weak) UIViewController *contentViewController;- (void) addMenu;- (void) addViewControllers;@end@implementation MainViewController- (void)viewDidLoad { [super viewDidLoad]; self.view.backgroundColor = [UIColor grayColor]; [self addMenu]; [self addViewControllers]; }- (void)addMenu{ MenuViewController *menu = [[MenuViewController alloc] init]; menu.delegate = self; [self addChildViewController:menu]; [self.view addSubview:menu.view];}- (void)addViewControllers{ FirstViewController *first = [[FirstViewController alloc] init]; UINavigationController *navgFirst = [[UINavigationController alloc] initWithRootViewController:first]; SecondViewController *second = [[SecondViewController alloc] init]; UINavigationController *navgSecond = [[UINavigationController alloc] initWithRootViewController:second]; [self setViewControllers:@[navgFirst, navgSecond]]; [self setContentViewController:navgFirst];}- (void)setContentViewController:(UIViewController *)contentViewController{ [_contentViewController willMoveToParentViewController:nil]; [_contentViewController.view removeFromSuperview]; [_contentViewController removeFromParentViewController]; _contentViewController = contentViewController; [self addChildViewController:_contentViewController]; [self.view addSubview:_contentViewController.view];}-(void) MenuView:(MenuViewController *)controller didSelecteIndex:(NSInteger)index{ NSLog(@"%@", [NSString stringWithFormat:@"%zd", index]); [self setContentViewController:self.viewControllers[index - 1]]; [self openCloseMenu];}-(void)openCloseMenu{ if (!self.isOpen){ [UIView animateWithDuration:0.15 animations:^{ self.contentViewController.view.transform = CGAffineTransformMakeTranslation(140, 0); }]; }else{ [UIView animateWithDuration:0.15 animations:^{ self.contentViewController.view.transform = CGAffineTransformIdentity; }]; } self.isOpen = !self.isOpen;}@end
@interface FirstViewController ()@end@implementation FirstViewController- (void)viewDidLoad { [super viewDidLoad]; self.view.backgroundColor = [UIColor greenColor]; self.title = @"First"; UIBarButtonItem *barItem = [[UIBarButtonItem alloc] initWithTitle:@"菜单" style:UIBarButtonItemStylePlain target:self action:@selector(menuButtonClicked1)]; self.navigationItem.leftBarButtonItem = barItem;}- (void) menuButtonClicked1{ NSLog(@"menuButtonClicked1"); [self.navigationController.parentViewController performSelector:@selector(openCloseMenu)]; }@end
#import <UIKit/UIKit.h>@class MenuViewController;@protocol MenuViewDelegate <NSObject>-(void)MenuView:(MenuViewController *)controller didSelecteIndex:(NSInteger)index;@end@interface MenuViewController : UIViewController@property(nonatomic, weak) id<MenuViewDelegate> delegate;@end
#import "MenuViewController.h"@interface MenuViewController ()- (void) addItems;@end@implementation MenuViewController- (void)viewDidLoad { [super viewDidLoad]; self.view.backgroundColor = [UIColor grayColor]; [self addItems];}- (void)addItems{ UIButton *item1 = [UIButton buttonWithType:UIButtonTypeCustom]; [item1 setTag:1]; [item1 setFrame:CGRectMake(0, 100, 140, 40)] ; [item1 setTitle:@"Item1" forState:UIControlStateNormal]; [item1 setBackgroundColor:[UIColor greenColor]]; [item1 setTitleColor:[UIColor grayColor] forState:UIControlStateNormal]; [self.view addSubview:item1]; [item1 addTarget:self action:@selector(itemselected:) forControlEvents:UIControlEventTouchUpInside]; UIButton *item2 = [UIButton buttonWithType:UIButtonTypeCustom]; [item2 setTag:2]; [item2 setFrame:CGRectMake(0, 140, 140, 40)] ; [item2 setTitle:@"Item2" forState:UIControlStateNormal]; [item2 setBackgroundColor:[UIColor blueColor]]; [item2 setTitleColor:[UIColor yellowColor] forState:UIControlStateNormal]; [self.view addSubview:item2]; [item2 addTarget:self action:@selector(itemselected:) forControlEvents:UIControlEventTouchUpInside];}- (void) itemselected:(UIButton *)sender{ [self.delegate MenuView:self didSelecteIndex:sender.tag];}@end
0 0
- IOS学习(十八)简单slideMenu
- slidemenu简单使用
- 最简单的slidemenu (外加recycleview点击事件)
- 猫猫学IOS(二十八)UI之Quartz2D简单介绍
- Android学习笔记:(一)添加自定义组件(slideMenu)
- 由浅入深学习自定义控件(4)-滑动开关slidemenu
- iOS学习(十八)Objective-C 多态的基本概念
- iOS学习(二十八)Objective-C 代理设计模式
- 学习笔记(十八)
- 《汇编语言》学习(十八)
- 机器学习(十八)
- python学习(十八)
- 简单的自定义View-仿SlideMenu
- 集成Android SlidingMenu(SlideMenu)
- Linux学习笔记(十八)
- 学习笔记(二十八)
- python 学习笔记(十八)
- java学习笔记(十八)
- 关于sendtoback()和bringtofront() 的理解
- adb 通过 WLAN 连接到设备
- rabbitmq
- 51nod-斜率小于0的连线数量(树状数组+离散化)
- MACHINE LEARNING - 《A FEW USEFUL THINGS TO KNOW ABOUT MACHINE LEARNING》读后总结
- IOS学习(十八)简单slideMenu
- 重装Ubuntu 14.04后使用apt-get安装build-essential(即sudo apt-get install build-essential)时出现包依赖项问题的解决方法
- CSDN 新人作业 android touch 小游戏——“TouchMe”
- linux命令:ps命令
- PSI与SI
- XBlock 创建与安装(新)
- 独孤九剑---设计模式总结
- 去雾算法 halcon 实现
- Java 正则表达式数据校验