关于方法后带宏UI_APPEARANCE_SELECTORDE与普通的区别

关于iOS含有如下宏定义的 UI_APPEARANCE_SELECTOR; 的方法 ,不知道你是否知道其真正的意义。

当你给你的navigationBar设置BarTintColor时,你可以使用2种方法(当然只有在iOS7以后在有BarTintColor方法)
@property(nonatomic,retain) UIColor *barTintColor NS_AVAILABLE_IOS(7_0) UI_APPEARANCE_SELECTOR;  // default is nil
1)   [[UINavigationBar appearance] setBarTintColor:[UIColor yellowColor]]; //一般写在APPDelegate中
2)  [self.navigationController.navigationBar setBarTintColor:[UIColor yellowColor]];//一般写在该导航控制器的根视图里

经查阅资料和亲身验证知道,前者使你工程中所有的navigationBa的实例的barTintColor都会一样,而后者只是影响某一个导航控制器的navigationBar的barTintColor。

时间: 2024-10-09 13:27:36

关于方法后带宏UI_APPEARANCE_SELECTORDE与普通的区别的相关文章

JavaScript函数实现鼠标指向后带图片的提示效果

转载:http://www.cnblogs.com/jack86514/archive/2009/04/01/1427584.html 当我们在写一个网页程序的时候,很多方法可以提供页面的动态显示,从而提高页面的视觉效果. 本例就是通过一个简单的Javascript代码动态显示图片的信息的,其实这样的例子很多,所以这里只做简单的说明了. 现在就创建一个页面,代码如下所示: <html> <head> <meta http-equiv="Content-Type&qu

封装后带超时的httpclient

nuget包里的.点我查看安装命令 参考自菜菜的这篇文章 public MainPage() { InitializeComponent(); method();//注意:如果2个method写在一个方法里面,调用的时候,2个方法走完才会加载数据,这样用户体验很不好 method1(); } private async void method() { var a = await AsyncCallbac1("http://www.baidu.com"); TbBlock.Text =

用cp命令拷贝文件,源目录后带不带斜杠的区别

当我还是Linux超级傻白的时候,需要拷贝一个很大的数据集,然后再拷贝源文件夹的后面跟了一个前倾斜杠,然后就发现居然拷贝的是整个文件夹里的东西,而不是文件夹本身.事儿倒是不大,我重新建一个文件夹,把这些东西挪进去就行了.后来,等我记住这一招后,发现有的时候居然也不是这样.于是,做做实验,干脆搞搞清楚. 两个文件夹,各自内容如下: 使用命令cp –R dir_src/ dir_target后,结果如下: 重做一遍,使用cp –R dir_src dir_target后,结果如下: 于是我就记住了这

一个线程进入一个对象的一个synchronized方法后

分这几种情况: 1.其他方法前是否加了synchronized关键字,如果没加,则能. 2.如果这个方法内部调用了wait,则可以进入其他synchronized方法. 3.如果其他个方法都加了synchronized关键字,并且内部没有调用wait,则不能. 4.如果其他方法是static,它用的同步锁是当前类的字节码,与非静态的方法不能同步,因为非静态的方法用的是this. 当一个对象被当作参数传递到一个方法后,此方法可改变这个对象的属性,并可返回变化后的结果,那么这里到底是值传递还是引用传

为何重写toString方法后会使哈希码能够打印出来

首先还是推荐lz看源代码 简单的讲之所以调用了toString()方法,不是什么编译器默认的,而是因为lz你调用的是out.print()方法仔细看源代码,在PringStream类中,print方法是这样写的 public void print(Object obj) { write(String.valueOf(obj)); }此时调用了String的静态方法valueof这个方法是这样的 public static String valueOf(Object obj) { return (

c3p0连接池获得的Connection执行close方法后是否真的销毁Connection对象?

背景: C3P0连接池 jdbc.maxPoolSize=1 jdbc.minPoolSize=1 jdbc.initialPoolSize=1 Connection conn = dataSource.getConnection() 执行close方法后,connection就真的是关闭了而不是放回连接池里面待用. 网上找了下很多人都说使用连接池后,connection的close方法不是真正的关闭,只是放回池里待用. 我从来都喜欢追根究底,其实就是好奇心害死猫.所以也忍不住测试了. 第一次:

在MVC里面使用Response.Redirect方法后记得返回EmptyResult

在ASP.NET MVC中我们很多时候都会在拦截器和Controller中直接使用Response.Redirect方法做跳转,但是实际上Response.Redirect方法执行后ASP.NET并不会立即结束当前请求的执行,而是要过一段时间才会终止当前请求的执行,然后命令客户端浏览器去访问Response.Redirect方法中传入的新的URL地址.这会导致一个问题,有时候我们希望Response.Redirect方法执行后后面的代码就取消执行了,因为这并不是我们预期的行为,当代码执行了Res

当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法

当一个线程进入一个对象的一个synchronized方法后,其它线程是否可进入此对象的其它方法 对象的synchronized方法不能进入了,但它的其他非synchronized方法还是可以访问的. 1 public class TT implements Runnable { 2 int b = 100; 3 public synchronized void m1(){ 4 b = 10000; 5 try { 6 Thread. sleep(5000); 7 System. out.prin

js中new函数后带括号和不带括号的区别

用new创建构造函数的实例时,通常情况下new 的构造函数后面需要带括号(譬如:new Parent()). 有些情况下new的构造函数后带括号和不带括号的情况一致,譬如: function Parent(){this.num = 1;}console.log(new Parent());//输出Parent对象:{num:1}console.log(new Parent);//输出Parent对象:{num:1} 1 1 function Parent(){ 2 2 this.num = 1;