刚开始进来的时候的效果图:
点击右侧按钮时候效果图:
RootViewController.h
#import <UIKit/UIKit.h> @interface RootViewController : UIViewController { UIButton * leftButton; UIButton * rightButton; UIViewController * firstController; UIViewController * secondController; } @end
RootViewController.m
- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view. //初始化顶部按钮 [self creatHeadView]; //初始化背景图 [self initBackView]; } #pragma -mark -functions -(void)initBackView { firstController = [[UIViewController alloc] init]; firstController.view.backgroundColor = [UIColor redColor]; [self.view addSubview:firstController.view]; secondController = [[UIViewController alloc] init]; secondController.view.backgroundColor = [UIColor blueColor]; } -(void)creatHeadView { UIView * headView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 100, 30)]; //左边的按钮 leftButton = [UIButton buttonWithType:UIButtonTypeCustom]; leftButton.frame = CGRectMake(0, 0, 50, 30); leftButton.tag = 201; leftButton.enabled = NO; [leftButton setImage:[UIImage imageNamed:@"left"] forState:UIControlStateNormal]; [leftButton addTarget:self action:@selector(doClickHeadActions:) forControlEvents:UIControlEventTouchUpInside]; [headView addSubview:leftButton]; //右边的按钮 rightButton = [UIButton buttonWithType:UIButtonTypeCustom]; rightButton.frame = CGRectMake(50, 0, 50, 30); rightButton.tag = 301; [rightButton setImage:[UIImage imageNamed:@"right"] forState:UIControlStateNormal]; [rightButton addTarget:self action:@selector(doClickHeadActions:) forControlEvents:UIControlEventTouchUpInside]; [headView addSubview:rightButton]; self.navigationItem.titleView = headView; } #pragma -mark -doClickActions -(void)doClickHeadActions:(UIButton *)btn { if (btn.tag == 201) { [secondController dismissViewControllerAnimated:NO completion:nil]; [btn setImage:[UIImage imageNamed:@"leftselect"] forState:UIControlStateNormal]; btn.enabled = NO; [rightButton setImage:[UIImage imageNamed:@"right"] forState:UIControlStateNormal]; rightButton.enabled = YES; } else if (btn.tag == 301) { [firstController presentViewController:secondController animated:NO completion:nil]; [btn setImage:[UIImage imageNamed:@"rightselect"] forState:UIControlStateNormal]; btn.enabled = NO; [leftButton setImage:[UIImage imageNamed:@"left"] forState:UIControlStateNormal]; leftButton.enabled = YES; } }