歪歪不知道

导航

修改 UISearchBar cancelButton 样式

     今天收到个问题,老大让我修改UISearchBar cancelButton的样式本来以为很简单的一个活,没想到让我长知识了。

  开始在网上搜到的方法和我想象的一样,通过遍历Subviews获得button 然后修改,可是后来发现这个方法并不实用,这个只是在一直都存在cancelButton有

效果,其他时间就是白搭,于是转战stackoverflow 就有了收获,在iOS5+ 7-的时候用下面几种方法就可以解决了

 

1.这个方法时候先看到的

[[UIButton appearanceWhenContainedIn:[UISearchBar class], nilsetTitleColor:[UIColorblueColorforState:UIControlStateNormal];

 

2.随后看到有人说上面的方法并不好 然后给出了下面的方法

UIBarButtonItem *searchBarButton = [UIBarButtonItem appearanceWhenContainedIn:[UISearchBar class], nil];
[searchBarButton setBackgroundImage:myCancelButtonImageNormal forState:UIControlStateNormal barMetrics:UIBarMetricsDefault];
[searchBarButton setBackgroundImage:myCancelButtonImageHighlighted forState:UIControlStateHighlighted barMetrics:UIBarMetricsDefault];
[searchBarButton setTitleTextAttributes:barButtonTitleTextAttributesNormal forState:UIControlStateNormal];
[searchBarButton setTitleTextAttributes:barButtonTitleTextAttributesHighlighted forState:UIControlStateHighlighted];


大家可以都试一下 我试过了第一个 是可以满足需求的


posted on 2014-03-07 14:52  歪歪不知道  阅读(423)  评论(0编辑  收藏  举报