我們項(xiàng)目需要自定義SearchBar外觀與app主題保持一致济瓢,而且目前我們公司適配到iOS7,所以需要修改默認(rèn)的外觀护侮。
1.使用控件:
iOS8之前:UISearchBar+UISearchDisplayController
iOS8之后:UISearchController
只需要將UISearchController的searchBar添加到self.view上即可畜隶;
2.獲取UISearchBar子視圖享钞,自定義UISearchBarBackground、UISearchBarTextField等的樣式:
iOS8之前:[searchBar subviews]
iOS8之后:[[searchBar subviews][0]subviews]
ps:在獲取cancel按鈕時(shí)愉适,一定要寫上searchBar.showsCancelButton = YES;
3.設(shè)置輸入框背景顏色
我一直以為要用上圖1的方法犯助,修改searchBar的background,然后修改textfield的背景顏色维咸。后來(lái)看到某條博客剂买,發(fā)現(xiàn)只要用這一行代碼就可以:
4.修改取消按鈕的顏色
我嘗試用圖1的方法修改惠爽,但是發(fā)現(xiàn)我只能修改取消按鈕顯示的內(nèi)容即title,卻改變不了顏色瞬哼,后來(lái)發(fā)現(xiàn)只需要修改searchBar的tintColor婚肆。