我现在学到可分栏控制器,UITabBarController.我总结了它的层次有,UITabBarController控制并且只有以个UITanBat(他是一个UIIView的子类),UITabBar他有控制着多个UIViewController,而且每个UIViewController在上面添加的着很多的UITabBarItem。

UITabBarItem上又有很多的实例化的方法1.

[UITabBarItem alloc]initWithTabBarSystemItem:<#(UITabBarSystemItem)#> tag:<#(NSInteger)#>他是个系统自带的实例化方法,里面有很多苹果打包的很多tabBar的风格;而主要讲下面两种实例化方法的不同

方法一:这是ios7.0之前的方法,很多视频是讲的是这种方法

[UITabBarItem alloc]initWithTitle:<#(NSString *)#> image:<#(UIImage *)#> tag:<#(NSInteger)#>

但是如果在ios7.0之后 ,Xcode他默认的自定义的图标是灰色的或者是背景是灰色例如:这种图片是系统可以识别的如果是其他的彩色的图片系统就回用灰色覆盖图片,点击后是蓝色的,系统默认点击后是蓝色的,(注点击的图片的渲染颜色是可以变的)

方法二:这个方法是ios8 .0之后用的方法,对上tabbar的图片设置分的有比较细,加入了点击后的图片设置

[UITabBarItem alloc]initWithTitle:<#(NSString *)#> image:<#(UIImage *)#> selectedImage:<#(UIImage *)#>

第一个image:参数是在没有点击的正常情况下得图片的显示,而第二种是在点击后的图片的显示,这是显示的图片是彩色的,我觉得这是在UITabbarItem上一个很大的改进,增加了用户的体验效果,对于新手要注意这种方法,可能视频上的导师没有讲到这个方法的区别

//__________________________________________________________________________

在刚学UIket的UITabBarItem是老是被提醒注意层次,和事实的逻辑,但是在编码的时候总会出一些不注意的常错的例如:

UINavigationController *hoomNavgation=[[UINavigationController alloc]initWithRootViewController:firstView];

UIBarButtonItem *barButton=[[UIBarButtonItem alloc]initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:nil];
// hoomNavgation.navigationItem.rightBarButtonItem=barButton;

我们经常说,一个上面的那个层次一个UITabBarController只有一个UITabBar,每个视图都是有自己独特的UItabbar的,如果在UITabBarController上设置UITabBarItem,而他又控制的所有的视图,这就使每一个视图上都有相同的UITabBatItem了,所以我们总结我们不能用self.navigationController .navigationItem.rightBarButtonItem=barButton;这种形式。

但是在上面的时候没有在视图的- (void)viewDidLoad 下编写而是在对象下编写就很有可能出现那种形式

》hoomNavgation.navigationItem.rightBarButtonItem=barButton;他可以变向的写成self.navigationController .navigationItem.rightBarButtonItem=barButton;这种形式,还是请新手注意

//_____________________________________________________________________________________

我们会经常忽略的方法: tabBarController.tabBar.selectedImageTintColor = [UIColor brownColor]   虽然这个方法是一个过期的方法,但是还是可以用的,他可以改变点击后的渲染的颜色;

设置程序启动时默认的ViewController视图(设置为3,一共5个ViewController,进来时候显示的视图就是第4个-tabBarViewD,下标从0开始)

tabBarController.selectedIndex = 3;

他可以帮助进行选项和视图的同步的移动

最新文章

  1. swt shell设置窗口位于屏幕中间
  2. node.js的安装环境搭建
  3. 一场属于HTML5守望者的盛宴——记图灵参加HTML5峰会
  4. 第五章——搭建S3C6410开发板的测试环境
  5. Swift:subscript
  6. 如何用Apache TCPMon来截获SOAP消息
  7. python3使用csv模块读写csv文件
  8. NOIP2003 传染病防治
  9. socket传输过程
  10. mybatis--MapperScannerConfigurer
  11. SQL SERVER 中identity用法
  12. bzoj 3328: PYXFIB 数论
  13. NPOI操作EXCEL--设置密码及设置只读
  14. Android项目实战手机安全卫士(01)
  15. 参数错误。 (异常来自 HRESULT:0x80070057 (E_INVALIDARG))
  16. (贪心 字符串 打好基础)51nod 1182完美字符串
  17. web端设计和web前端开发 的区别
  18. vue使用tradingview开发K线图相关问题
  19. OpenSL ES 查询设备支持的SL Profiles
  20. Fiddler 抓包https配置 提示:creation of the root certificate was not successful 证书安装不成功

热门文章

  1. oracle出现的小问题
  2. HDU 5444 Elven Postman (二叉树,暴力搜索)
  3. Spring REST实践之Versioning,Paging和Sorting
  4. java(2014)实现对mysql数据库分页的代码
  5. Linux 调节屏幕亮度
  6. 用html5的canvas生成图片并保存到本地
  7. Function.caller
  8. IPv4&amp;IPv6双重协议栈
  9. javaScript-原型、继承-01
  10. mybatis 注解快速上手