我现在学到可分栏控制器,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. ASP.NET的分页方法(三)

    第三讲是应用于MVC上面的分页,很多时候MVC要和EF表达式一起使用,但是我这个使用的最原始的ADO.NET,一样实现了这个效果.要实现这个效果首先要得到MvcPager.dll,引用之后,前台操作如 ...

  2. HDU4289Control(最大流)

    看了这道题,然后重新开始练习自己的刚敲不久的网络流,发现还是难以一遍敲得完整啊,,,,, 调了...遍,改了...遍,测了...遍,交了,,,遍,总算是A了,,不简单啊 然后试着用了其他两种算法EK和 ...

  3. C#中的Collection 3

    IList<T> 和 ICollection<T> 最重要的一些类型 List<T>: Encapsulates[T], like array, but also ...

  4. Find mac address

    Windows Method 1: Using the Command Prompt 1 Click on the Start button.   2 Type cmd in the search b ...

  5. bootStrap modal无法滚动处理

    bug:在大显示器上,模态框无法滚动,改变浏览器窗口大小,模态框可以滚动. 处理:模态框显示后,执行resize.或者直接调用handleUpdate 'shown.bs.modal #orderDe ...

  6. jquery获取当前元素的坐标

    jquery获取当前元素的坐标 1,获取对象 var obj = $("#id号"); 或  var obj = $(this); 实例中我获取的对象是弹出窗口按钮,这样创建的新窗 ...

  7. URAL 1233 - Amusing Numbers

    首先计算出k至少为第几位,如果m小于这个数,那么输出0 还有一种情况, 就是10的i次方的这种情况,如果i+1等于m,那么直接输出k,否则输出0 其他的情况,就是二分,然后判断计算其插入到k之前的数的 ...

  8. 如何在使用了updatepanel后弹出提示信息

    转载:http://www.cnblogs.com/brusehht/archive/2009/03/19/1416802.html 常情况下,我们在使用ajax利用updatepanel实现页面局部 ...

  9. START167 AND BOOT167

    http://infocenter.arm.com/help/index.jsp?topic=/com.arm.doc.faqs/ka10535.html C166: START167 AND BOO ...

  10. 你尽力了么===BY cloudsky

    /////////////////////////////////////////////////////////////////////////// 这是我的同事alert7在他主页上转scz的&l ...