ios searchbar取消按钮的title和颜色定制

关于颜色最简单的方法是

searchbar.tintColor =[UIColor redColor];


高级方法是

//    [[UIBarButtonItem appearanceWhenContainedIn:[UISearchBar class], nil]

//     

//     setTitleTextAttributes:

//     

//     [NSDictionary dictionaryWithObjectsAndKeys:

//      

//      [UIColor whiteColor],

//      

//      UITextAttributeTextColor,

//      

//      [NSValue valueWithUIOffset:UIOffsetMake(0, 1)],

//      

//      UITextAttributeTextShadowOffset,nil]

//     

//     forState:UIControlStateNormal];





关于取消按钮的标题

- (void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar

{


    [searchBar setShowsCancelButton:YES];

    NSArray * subViews=[(UIView *)[searchBar subviews][0] subviews];

    for(UIView * view in subViews)

    {

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

        {

            [(UIButton*)view setTitle:@"取消" forState:UIControlStateNormal];

        }

    }

}

不过这个方法在ios7以上有用。如果在ios7以下。那么就要进行更改因为searchbar的subviews的结构改变了。改变方法就是把 searchBar  subviews ][ 0 ]的[0]去掉

你可能感兴趣的:(移动开发)