我现在学到可分栏控制器,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;

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

UITabBarItem编写的时候出现得图片显示异常,和有一些比较忽略的方法总结的更多相关文章

  1. Xcode9.2打包图片显示异常解决方案

    链接:https://www.jianshu.com/p/ca0bbb403143來源:简书 在使用Xcode9.2适配iPhone X的过程中遇到了部分图片显示异常(不显示或花掉)的问题.主要分两种 ...

  2. 使用系统UITabbarItem自定义图片显示原本颜色和自定义文字颜色

    ...... ThirdViewController *thirdVC = [[ThirdViewControlleralloc]initWithTitle:@"搜索信息"]; / ...

  3. [Xcode 实际操作]一、博主领进门-(2)第一个工程项目:将导入的图片显示到屏幕上

    目录:[Swift]Xcode实际操作 本文将演示创建第一个工程项目. 在项目导航区,鼠标右键[Assets.xcassets]资源文件夹. 隔壁右侧区域左下角点击[+],打开资源文件管理菜单-> ...

  4. Swift开发教程--怎样自己定义TabBarItem的图片显示

    在做项目的时候,假设使用系统的UITabBarController的时候,底部的tab自己定义图片显示是蓝色和灰色的.这不是我们所想要的效果. 假设想显示自己定义的按下和弹起的图片效果.这个时候就须要 ...

  5. 4.C#WinForm基础图片(显示和隐藏)

    要求: 软件上有一张图片,默认是隐藏的.用户在文本框中输入身份证号(131226198105223452),点击按钮,如果年龄大于18岁,则显示图片. 知识点: 取当前年份,Date Time Now ...

  6. jQuery css3鼠标悬停图片显示遮罩层动画特效

    jQuery css3鼠标悬停图片显示遮罩层动画特效 效果体验:http://hovertree.com/texiao/jquery/39/ 效果图: 源码下载:http://hovertree.co ...

  7. Latex图片显示问题(1)

    用latex编译后,若用dvipdf生成pdf文件,则其中有个eps图的左侧会显示不完全:若是用dvips--pspdf生成pdf文件,图像显示没问题. 这种情况的问题出在,加载 graphicx 宏 ...

  8. WPF 图片显示中的保留字符问题

    在WPF中显示一张图片,本是一件再简单不过的事情.一张图片,一行XAML代码即可. 但是前段时间遇到了一件奇怪的事: 开发机上运行正常的程序,在某些客户机器上却显示不了图片,而且除了这个问题,其它运行 ...

  9. JS控制图片显示的大小(图片等比例缩放)

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...

随机推荐

  1. HDU 4596 Yet another end of the world (数学,扩展欧几里德)

    题意:给出n组x,y,z.判断是否存在一个id使得id%x1∈(y1,z1),id%x2∈(y2,z2). 析: 设 id/x1=a , id/x2=b ,则 id-a*x1=u;   (1) id- ...

  2. WIN7建立wifi热点及无法启动承载网络的解决办法

    1,根据网络共享的方法,最简单莫过于利用Win7的虚拟网卡来做热点,而不用借助其他软件.         首先,用管理员身份打开CMD命令提示符,输入 netsh wlan set hostednet ...

  3. 理解MFC 文档、视图、框架[转]

    理解文档/视图框架                                      出处.雷神 了解文档和视图的相互作用关系是编写MFC程序的基本功.但是MFC的应用程序框架把文档和视图之间 ...

  4. (剑指Offer)面试题26:复杂链表的复制

    题目: 请实现函数ComplexListNode* Clone(ComplexListNode* pHead),复制一个复杂链表. 在复杂链表中,每个结点除了有一个pNext指针指向下一个结点之外,还 ...

  5. 局部化原理(Laplace渐进估计方法)

    设$f(x)$于$[0,1]$上严格单调递减,且$f(0)=1,f(1)=0$,证明: $$\int_{0}^{1}f^{n}(x)dx \sim \int_{0}^{\delta}f^{n}(x), ...

  6. java静态代理与动态代理简单分析

    原创作品,可以转载,但是请标注出处地址http://www.cnblogs.com/V1haoge/p/5860749.html 1.动态代理(Dynamic Proxy) 代理分为静态代理和动态代理 ...

  7. Ajax的常用框架有哪些?

    AJAX(Asynchronous JavaScript and XML,异步JavaScript和XML),是创建交互式Web应用的主要开发技术.互联网中也有大量的关于AJAX的框架,本文汇总了最常 ...

  8. UIImage imageNamed 与 imageWithContentsOfFile的差别

    [UIImage imageNamed:]仅仅适合与UI界面中的贴图的读取,较大的资源文件应该尽量避免使用 用UIImage载入本地图像最经常使用的是以下三种: 1.用imageNamed方法 [UI ...

  9. Remobjects SDK 服务器搭建

    for delphi: 在工程文件源码中,有一个编译字 {#ROGEN: ***.rodl},将它的名字改成 指定的 rodl 即可自动生成相关文件,一般默认为 NewService.

  10. 深入研究Clang(三) libclang

    作者:史宁宁 如今的Clang,不不过一个编译器前端,同一时候也能够作为一个库使用.作为一个库使用的时候,能够用它去分析C/C++/ObjectC语言代码,能够分析源代码得到AST,也能够获取已经分析 ...