原文:  http://blog.csdn.net/songrotek/article/details/8692866?utm_source=tuicool

对于UIToolbar,UINavigationBar,UITabBar,UIBarButtonItem,UITabBarItem这几种控件的自定义,因为具备共同性,因此放在一起讨论。

通常有两种方式来实现自定义。

1)获取控件的对象,然后对这个特定的对象进行特定的修改。

2)利用UIAppearance来实现对所有同类控件及特定同类的自定义。因为大多数应用里面的自定义为了美观,基本上相同类的控件自定义方式都一样,因此采用UIAppearance来使得界面的自定义变得非常方便。对于这种方式,通常在AppDelegate.m文件中实现,在

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 这个方法内实现。

这里介绍一下UIAppearance的使用,参考自“UIAppearance protocol reference",有两种方式:

1、自定义所有类对象的显示。

[[UINavigationBar appearance] setTintColor:myColor];

2、自定义包含在特定containerclass 的类对象的显示。这主要针对UIBarButtonItem,就是说有的UIBarButtonItem在UINavigationBar中,有的在UIToolbar中,我们可以选择性的对存在于哪个bar中的button进行自定义。举例如下:

[[UIBarButtonItem appearanceWhenContainedIn:[UINavigationBar class], nil]setTintColor:myNavBarColor];

[[UIBarButtonItem appearanceWhenContainedIn:[UINavigationBar class],[UIPopoverController class], nil] setTintColor:myPopoverNavBarColor];
[[UIBarButtonItem appearanceWhenContainedIn:[UIToolbar class], nil] setTintColor:myToolbarColor];

下面总结一下各控件使用UIAppearance自定义的Methods。摘自各苹果官方的Reference.注意下面的方法同样可以单独用于某个单独的对象。

1、UIToolbar

Customizing Appearance

– backgroundImageForToolbarPosition:barMetrics:(page 7)
Returns the image to use for the background in a given position and with given metrics.

– setBackgroundImage:forToolbarPosition:barMetrics:(page 7)
Sets the image to use for the background in a given position and with given metrics.

– shadowImageForToolbarPosition:(page 9)
Returns the image to use for the toolbar shadow in a given position.

– setShadowImage:forToolbarPosition:(page 9)
Sets the image to use for the toolbar shadow in a given position.

tintColor(page 6) property
The color used to tint the bar.

2、UITabBar

Customizing Appearance

backgroundImage (page 5)propertyThe background image for the bar.

selectedImageTintColor (page 7) property
The tint color to apply to the gradient image used when creating the selected image.

selectionIndicatorImage (page 8) propertyThe image used for the selection indicator.

shadowImage (page 8)property
The shadow image to be used for the tab bar.

tintColor (page 8)property
The tint color to apply to the tab bar background.

3、UINavigationBar

Customizing the Bar Appearance

tintColor (page 9)property
The color used to tint the bar.

–backgroundImageForBarMetrics:(page11)
Returns the background image for given bar metrics.

–  setBackgroundImage:forBarMetrics:(page 13)Sets the background image for given bar metrics.

–  titleVerticalPositionAdjustmentForBarMetrics:(page 14)Returns the title’s vertical position adjustment for given bar metrics.

–  setTitleVerticalPositionAdjustment:forBarMetrics:(page 14)Sets the title’s vertical position adjustment for given bar metrics.

titleTextAttributes (page 9) propertyDisplay attributes for the bar’s title text.

4、UIBarButtonItem

Customizing Appearance

tintColor(page 9) property
The tint color for the button item.

–  backButtonBackgroundImageForState:barMetrics:(page 10)

Returns the back button background image for a given control state and bar metrics.

–  setBackButtonBackgroundImage:forState:barMetrics:(page 17)

Sets the back button background image for a given control state and bar metrics

–backButtonTitlePositionAdjustmentForBarMetrics:(page11)Returns the back button title offset for given bar metrics.

– setBackButtonTitlePositionAdjustment:forBarMetrics:(page 19)Sets the back button title offset for given bar metrics

– backButtonBackgroundVerticalPositionAdjustmentForBarMetrics:(page 10)Returns the back button vertical position offset for given bar metrics.

– setBackButtonBackgroundVerticalPositionAdjustment:forBarMetrics:(page 18)Sets the back button vertical position offset for given bar metrics.

– backgroundVerticalPositionAdjustmentForBarMetrics:(page 13)Returns the background vertical position offset for given bar metrics.

– setBackgroundVerticalPositionAdjustment:forBarMetrics:(page 21)Sets the background vertical position offset for given bar metrics.

–backgroundImageForState:barMetrics:(page11)

Returns the background image for a given state and bar metrics.

– setBackgroundImage:forState:barMetrics:(page 19)

Sets the background image for a given state and bar metrics.

– backgroundImageForState:style:barMetrics:(page 12)

Returns the background image for the specified state, style, and metrics.

– setBackgroundImage:forState:style:barMetrics:(page 20)

Sets the background image for the specified state, style, and metrics.

– titlePositionAdjustmentForBarMetrics:(page 22)Returns the title offset for given bar metrics.

– setTitlePositionAdjustment:forBarMetrics:(page 21)Sets the title offset for given bar metrics.

5、UITabBarItem

Customizing Appearance

– titlePositionAdjustment(page 8)
Returns the offset to use to adjust the title position.

– setTitlePositionAdjustment:(page 8)
Sets the offset to use to adjust the title position.

除此之外,就是针对特定对象进行的自定义了。

1、UITabBarItem

– finishedSelectedImage (page 5)Returns the finished selected image.

– finishedUnselectedImage(page 5)Returns the finished unselected image.

– setFinishedSelectedImage:withFinishedUnselectedImage:(page 7)Sets the finished selected and unselected images.

上面的方法用于更改每个单独的TabBarItem 选中及未选中的图像

2、UIBarButtonItem

style (page 8)propertyThe style of the item.

possibleTitles (page 7)property
The set of possible titles to display on the bar button.

width (page 9)propertyThe width of the item.

customView (page 7)property
A custom view representing the item.

3、UINavigationBar

barStyle (page 7)property
The appearance of the navigation bar.

shadowImage (page 8)property
The shadow image to be used for the navigation bar.

translucent (page 10)property
A Boolean value indicating whether the navigation bar is only partially opaque.

基本上,把这些方法搞定,自定义就易如反掌了。

iOS 开发 中级:UIToolbar,UINavigationBar,UITabBar,UIBarButtonItem,UITabBarItem自定义方法总结的更多相关文章

  1. 【转】 学习ios(必看经典)牛人40天精通iOS开发的学习方法【2015.12.2

    原文网址:http://bbs.51cto.com/thread-1099956-1.html 亲爱的学员们: 如今,各路开发者为淘一桶金也纷纷转入iOS开发的行列.你心动了吗?想要行动吗?知道如何做 ...

  2. IOS开发中UIBarButtonItem上按钮切换或隐藏实现案例

    IOS开发中UIBarButtonItem上按钮切换或隐藏案例实现案例是本文要介绍的内容,这个代码例子的背景是:导航条右侧有个 edit button,左侧是 back button 和 add bu ...

  3. iOS开发系列--视图切换

    概述 在iOS开发中视图的切换是很频繁的,独立的视图应用在实际开发过程中并不常见,除非你的应用足够简单.在iOS开发中常用的视图切换有三种,今天我们将一一介绍: UITabBarController ...

  4. iOS开发UINavigation——导航控制器UINavigationController

    iOS开发UINavigation系列一——导航栏UINavigtionBar摘要iOS中的导航条可以附着于导航控制器之中使用,也可以在controller中单独使用,这篇博客,主要讨论有关导航栏的使 ...

  5. iOS开发200个tips总结(一)

    tip 1 :  给UIImage添加毛玻璃效果 func blurImage(value:NSNumber) -> UIImage { let context = CIContext(opti ...

  6. iOS开发常用的第三方类库

    在iOS开发中不可避免的会用到一些第三方类库,它们提供了很多实用的功能,使我们的开发变得更有效率:同时,也可以从它们的源代码中学习到很多有用的东西. Reachability 检测网络连接 用来检查网 ...

  7. 【转】iOS开发常用的第三方类库

    原文: http://blog.csdn.net/xiazailushang/article/details/9716043 在iOS开发中不可避免的会用到一些第三方类库,它们提供了很多实用的功能,使 ...

  8. 【转】iOS 开发怎么入门?

    原文网址:http://www.zhihu.com/question/20264108 iOS 开发怎么入门? 请问有设计模式.内存管理方面的资料吗?最好有除了官方文档之外的其它内容,10 条评论 分 ...

  9. iOS开发tips总结

    tip 1 :  给UIImage添加毛玻璃效果 func blurImage(value:NSNumber) -> UIImage { let context = CIContext(opti ...

随机推荐

  1. 国内银行CNAPS CODE 查询

    原地址:http://weekend.blog.163.com/blog/static/746895820127961346724/ 全国各地,无论哪个银行,无论什么分行,所有的CNAPS CODE都 ...

  2. H5时代的新存储简介

    1.WebStorage 分为:sessionStorage和localStorage两种,除了session的生命周期是在该域全部页面被关闭后就被清除而local是无限期存在外,二者的使用与方法属性 ...

  3. Javascript里的那些距离们

    1.有滚动条的控件的距离: scrollTop和scrollLeft:分别指有滚动条的容器控件的滚动条的top和left:页面滚动条的通用取法:document.body.scrollTop(FF\C ...

  4. ZJU 1180 Self Numbers(暴力模拟判断,水题)

    题目链接 同HDU 1128 , POJ 1316(这个范围小一点). 原本怕超时,以为有技巧或者规律,死命的想,后来发现这就是一道水体,模拟着全部判断一下就好了,10秒呢,完全不怕超时...唔,废话 ...

  5. Hibernate3.6中文手册

    前言 1. 教程 1.1. 第一部分 - 第一个 Hibernate 应用程序 1.1.1. 设置 1.1.2. 第一个 class 1.1.3. 映射文件 1.1.4. Hibernate 配置 1 ...

  6. .htaccess文件的作用(访问控制)

    在线工具: http://www.htaccesseditor.com/sc.shtml 说到.htaccess文件,我想对于wordpress新手或者老手都应该不是很熟悉,也没有多少这方面的概念吧, ...

  7. lintcode:格雷编码

    格雷编码 格雷编码是一个二进制数字系统,在该系统中,两个连续的数值仅有一个二进制的差异. 给定一个非负整数 n ,表示该代码中所有二进制的总数,请找出其格雷编码顺序.一个格雷编码顺序必须以 0 开始, ...

  8. lintcode:颜色分类

    颜色分类 给定一个包含红,白,蓝且长度为 n 的数组,将数组元素进行分类使相同颜色的元素相邻,并按照红.白.蓝的顺序进行排序. 我们可以使用整数 0,1 和 2 分别代表红,白,蓝. 样例 给你数组  ...

  9. Java7编程高手进阶读书笔记--final学习

    这段时间终于有了一些自己的时间,在网上淘了一本书把java学习下,顺便记下每日的学习心得 工作快两年多了,才知道基础的东西永远看的时候都有一个新的体验,今天中午看了下final,把自己炒的代码贴在这以 ...

  10. Eclipse提示Tomcat miss丢失bug:The Tomcat server configuration at \Servers\Tomcat v5.5 Server at localhost-config is missing.

    Eclipse提示Tomcat miss丢失bug:The Tomcat server configuration at \Servers\Tomcat v5.5 Server at localhos ...