码迷,mamicode.com
首页 > 其他好文 > 详细

自定义UISearchBar的“取消按钮”

时间:2015-08-03 22:21:23      阅读:214      评论:0      收藏:0      [点我收藏+]

标签:

需求: UISearchBar的取消按钮,没有公共方法可以修改它的属性。但我们仍可以通过遍历UISearchBar的子控件来设置该"取消按钮"。

效果: 将UISearchBar的取消按钮中的"取消"文字,更改为"搜索"。

代码如下:

- (void)setSearchBar:(UISearchBar *)searchBar{

      UISearchBar *searchBar = [[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, kScreenWidth, 44)];

     [searchBar setShowsCancelButton:YES];   //显示右侧取消按钮(必须)

  /*1. 遍历UISearchBar的子控件, 在"二级子控件"中找到UINavgationButton, 也就是我们要更改的"取消按钮";

   2. 得到UINagationBar(继承自UIButton), 并修改它的属性;

  */

     for (UIView *view in [[searchBar.subviews lastObject] subviews]) {

         if ([view isKindOfClass:[UIButton class]]) {

             UIButton *cancelBtn = (UIButton *)view;

             [cancelBtn setTitle:@"搜索" forState:UIControlStateNormal]; //关键步骤

        }

    }

    [self.view addSubview:searchBar];

}

效果: 

技术分享

 

感谢 Stack Overflow的Jason的分享。

自定义UISearchBar的“取消按钮”

标签:

原文地址:http://www.cnblogs.com/Shendong/p/4700485.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!