首页 > 代码库 > UI 常用方法总结之--- UINavigationController (不断更新中)

UI 常用方法总结之--- UINavigationController (不断更新中)

UINavigationController :UIViewController


1.创建UINavigationController对象

UINavigationController *navCV = [[UINavigationControlleralloc]initWithRootViewController:mainVC]; 

通常和

self.window.rootViewController = navCV;

连用


2.- (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated; 

推出第二个页面

eg:[self.navigationControllerpushViewController:secondVC animated:YES];


3.- (UIViewController *)popViewControllerAnimated:(BOOL)animated; 

返回上一视图

eg:[self.navigationControllerpopViewControllerAnimated:YES];


4.- (NSArray *)popToViewController:(UIViewController *)viewController animated:(BOOL)animated; 

返回指定视图

eg:获得viewController的栈

    UIViewController *viewC = [self.navigationController.viewControllersobjectAtIndex:0];

    [self.navigationController popToViewController:viewC animated:YES];


5.- (NSArray *)popToRootViewControllerAnimated:(BOOL)animated; 

返回根视图

eg:[self.navigationControllerpopToRootViewControllerAnimated:YES];




UINavigationItem :NSObject <NSCoding>

每个页面要显示在导航栏上的内容(标题,两边按钮信息)


1.rightBarButtonItem

创建导航栏右边按钮

参数1选择一个系统提供的图标信息

eg:self.navigationItem.rightBarButtonItem = [[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemRefresh target:self action:@selector(button:)]autorelease];


2.leftBarButtonItem

创建导航栏左边按钮

eg:self.navigationItem.leftBarButtonItem = [[[UIBarButtonItem alloc]initWithImage:[UIImage imageNamed:@"iconfont-yinle.png"] style:UIBarButtonItemStylePlain target:self action:@selector(button:)]autorelease];


3.hidesBackButton

隐藏返回按钮

eg:self.navigationItem.hidesBackButton =YES;


4.titleView

标题相关设置

eg:self.navigationItem.titleView = [[[UISegmentedControlalloc]initWithItems:@[@"111",@"222"]]autorelease];



UINavigationbar


1.translucent

是否透明

eg:self.navigationController.navigationBar.translucent =YES;


2.barTintColor

bar的颜色eg:self.navigationController.navigationBar.barTintColor = [UIColor grayColor];


3.setNavigationBarHidden

隐藏bar

e.g.:[self.navigationControllersetNavigationBarHidden:NO];


4.automaticallyAdjustsScrollViewInsets

取消掉scrollView的系统设置的UIEdgeInsets

e.g.:elf.automaticallyAdjustsScrollViewInsets =YES;

(当页面出现不可预知问题时可以尝试使用这个开关)


5.setBackgroundImage

设置bar背景图片

eg[self.navigationController.navigationBarsetBackgroundImage:[UIImageimageNamed:@"2.png"]forBarMetrics:UIBarMetricsDefault];

UI 常用方法总结之--- UINavigationController (不断更新中)