[Code Note] Two icons in the title. when clicked, the page jumps and the title jumps.
I ,.
2. Engineering Drawing.
Iii. Code
RootViewController. h
#import <UIKit/UIKit.h>@interface RootViewController : UIViewController{ UIButton * leftButton; UIButton * rightButton; UIViewController * firstController; UIViewController * secondController;}@end
RootViewController. m
# Import "RootViewController. h "@ interface RootViewController () @ end @ implementation RootViewController-(id) initWithNibName :( NSString *) bundle :( NSBundle *) handle {self = [super initWithNibName: nibNameOrNil bundle: nibBundleOrNil]; if (self) {// Custom initialization} return self;}-(void) viewDidLoad {[super viewDidLoad]; // Do any additional setup after loading the view. // initialize the top button [self creatHeadView]; // initialize the background image [self initBackView];} # pragma-mark-functions // initialize the background image-(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];} // initialize the top button-(void) creatHeadView {UIView * headView = [[UIView alloc] initWithFrame: CGRectMake (0, 0,100, 30)]; // The left button 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: role]; [headView addSubview: leftButton]; // the right button 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: role]; [headView addSubview: rightButton]; self. navigationItem. titleView = headView;} # pragma-mark-doClickActions-(void) doClickHeadActions :( UIButton *) btn {if (btn. tag = 201) {[secondController dismissViewControllerAnimated: NO completion: nil]; [self. view addSubview: firstController. view]; [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 dismissViewControllerAnimated: NO completion: nil]; [self. view addSubview: secondController. view]; [btn setImage: [UIImage imageNamed: @ "rightselect"] forState: UIControlStateNormal]; btn. enabled = NO; [leftButton setImage: [UIImage imageNamed: @ "left"] forState: UIControlStateNormal]; leftButton. enabled = YES;}-(void) didReceiveMemoryWarning {[super didreceivemorywarning]; // Dispose of any resources that can be recreated .}