iOS -UITabBarViewController/UINavigationController

持续更新中~~~

使用UITabBarViewController 时的注意事项

1、 当从二级界面跳转到根部tabbar界面的时候,需要注意代码顺序,否则会出现tabbar 隐藏的问题

正确的做法:

self.navigationController.tabBarController.selectedIndex = 0;
[self.navigationController popToRootViewControllerAnimated:YES];

错误的做法:

[self.navigationController popToRootViewControllerAnimated:YES];
self.navigationController.tabBarController.selectedIndex = 0;
2、 UINavigationController 设置多个UIBarButtonItem的间距

1、 通过设置initWithCustomView,且参数一定要是view,view可以调整大小,如果设置为button,则无法调整大小

UIView *spaceView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 10, 44)];
UIBarButtonItem * spaceItem = [[UIBarButtonItem alloc]initWithCustomView:spaceView];
self.navigationItem.leftBarButtonItems = @[item1,spaceItem,item2];
3、影响 self.view 顶入顶部或者底部的三个属性
*  isTranslucent(所属UINavigationBar),
*  edgesForExtendedLayout(所属UIViewController),
*  extendedLayoutIncludesOpaqueBars(所属UIViewController)

isTranslucentedgesForExtendedLayout 相互影响是否顶入顶部或底部

isTranslucent 为true 和 edgesForExtendedLayout 为all ,self.view顶入顶部和底部
isTranslucent 为false 和 edgesForExtendedLayout 为all ,self.view不顶入顶部和底部
isTranslucent 为true 和 edgesForExtendedLayout 为top , self.view顶入顶部和不顶入底部

extendedLayoutIncludesOpaqueBars = true 可忽略 isTranslucent 对导航栏的影响(在其他默认设置情况下先设置extendedLayoutIncludesOpaqueBars = true, self.view顶入顶部和底部)

4、设置导航栏的背景颜色
self.navigationController.navigationBar.barTintColor = [UIColor whiteColor];
self.navigationController.navigationBar.backgroundColor =  [UIColor whiteColor];;

你可能感兴趣的:(iOS,ios)