待完成任务 —— appearance意义及功能使用方法
2016-05-23 17:02
387 查看
使用
你可以通过向其发送一个外观改变消息来改造一个类的所有实例的外观。
有两种方式可以为一个对象改造其
为所有实例
为一个容器类中的所有实例
1 . 想去改造一个类的所有实例的
2 .如果想改变一个容器类中的某一个类的实例,或是在视图层级上的实例,需要使用appearanceWhenContainedIn: 去获得这个类的代理,如,想去更改bar 上的buttons 的 appearance属性,基于它们 都在导航栏上。
其实说白了appearance就是为了方便批量进行相应控件修改操作。
UIAppearance协议去获取一个类的
appearance代理。
你可以通过向其发送一个外观改变消息来改造一个类的所有实例的外观。
注意:iOS仅在一个view进入到一个window时才会应用其appearance更改操作。当一个view已经在window时,它不会发生任何的界面属性理性。如果想更改当前在window上的view的appearance需要先将其从视图层级上移除,然后再把它添加上去即可。
有两种方式可以为一个对象改造其
appearance:
为所有实例
为一个容器类中的所有实例
1 . 想去改造一个类的所有实例的
appearance,需要使用
appearance方法去获得这个类的
appearance的代理。如, 去改变
UINavigationBar中
bar的所有实例的背景色调:
[[UINavigationBar appearance] setBarTintColor:myNavBarBackgroundColor];
2 .如果想改变一个容器类中的某一个类的实例,或是在视图层级上的实例,需要使用appearanceWhenContainedIn: 去获得这个类的代理,如,想去更改bar 上的buttons 的 appearance属性,基于它们 都在导航栏上。
[[UIBarButtonItem appearanceWhenContainedIn:[uinavigationBar class],nil] setBackgroundImage:myNavBarButtonBackgroundImage forState:state barMetrics:metrics]; [[UIBarButtonItem appearanceWhenContainedIn:[UINavigationBar class], [UIPopoverController class], nil] setBackgroundImage:myPopoverNavBarButtonBackgroundImage forState:state barMetrics:metrics]; [[UIBarButtonItem appearanceWhenContainedIn:[UIToolbar class], nil] setBackgroundImage:myToolbarButtonBackgroundImage forState:state barMetrics:metrics]; [[UIBarButtonItem appearanceWhenContainedIn:[UIToolbar class], [UIPopoverController class], nil] setBackgroundImage:myPopoverToolbarButtonBackgroundImage forState:state barMetrics:metrics];
其实说白了appearance就是为了方便批量进行相应控件修改操作。
相关文章推荐
- Android Native 绘图方法
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 峰回路转,Firefox 浏览器即将重返 iOS 平台
- 不可修补的 iOS 漏洞可能导致 iPhone 4s 到 iPhone X 永久越狱
- iOS 12.4 系统遭黑客破解,漏洞危及数百万用户
- 每日安全资讯:NSO,一家专业入侵 iPhone 的神秘公司
- [转][源代码]Comex公布JailbreakMe 3.0源代码
- C#中struct和class的区别详解
- VBS ArrayList Class vbs中的数组类
- 大家看了就明白了css样式中类class与标识id选择符的区别小结
- 深入了解PHP类Class的概念
- jquery 表单验证之通过 class验证表单不为空
- setAttribute 与 class冲突解决
- JavaScript中的类(Class)详细介绍
- javascript面向对象包装类Class封装类库剖析
- 详解js中class的多种函数封装方法
- jQuery使用hide方法隐藏指定元素class样式用法实例
- jQuery给多个不同元素添加class样式的方法
- jQuery点击改变class并toggle及toggleClass()方法定义用法