在navigationController的navigationBar上添加UISearchBar

很多項目上的需求都是在navigationBar下面添加一個UISearchBar,之前我這個項目也是,但是需求改了,要求加到navabar上去,好吧,那就做唄,無非就是將UISearchBar加到navigationItem的titleView上去(這里用的是原生的,被沒有自定義navigationBar),但是真做起來坑還是比較多的

我這個項目是用的UISearchViewController,回頭會將searchController.searchBar添加上去.如果是自定的UISearchBar,我倒是沒有試過.

首先來看下效果圖:


A395CEA1046907BE5FC6ADB3C6413179.png

需求是這樣:


BD873EB92075DFDE81B5CA4B1CF79629.png

現(xiàn)在我們來開始說我遇見的坑吧

一. 無法設置searchBar的大小,反正會很長.

解決方案: 自定義一個view,將searchBar添加到view上,然后將view設置為titleView即可解決問題,不妨試試調(diào)整view的大小看看效果,注意,約束的時候是貼邊的.
UIView *titView = [[UIView alloc]initWithFrame:CGRectMake(0, 0, 300, 40)]; titView.backgroundColor = [UIColor colorWithRed:9/255.0 green:87/255.0 blue:131/255.0 alpha:1]; self.titView = titView; [titView addSubview:self.searchController.searchBar]; [self.searchController.searchBar mas_makeConstraints:^(MASConstraintMaker *make) { make.left.top.right.bottom.equalTo(titView); }];

二. 設置完searchBar的背景顏色會出現(xiàn)上下兩條黑線(圖就不截了)

解決方案:
// 去除searchbar上下兩條黑線及設置背景 self.searchController.searchBar.barTintColor = [UIColor colorWithRed:9/255.0 green:87/255.0 blue:131/255.0 alpha:1]; UIImageView *barImageView = [[[self.searchController.searchBar.subviews firstObject] subviews] firstObject]; barImageView.layer.borderColor = [UIColor colorWithRed:9/255.0 green:87/255.0 blue:131/255.0 alpha:1].CGColor; barImageView.layer.borderWidth = 1;

三. 這是最坑的地方,點擊searchBar,searchBar會出現(xiàn)下移的問題

先看圖:
!!!注意現(xiàn)在的searchBar已經(jīng)超出了navigationBar.

A2CD50D2221002A57193F51B12FB3F31.png

這個問題我查找了一上午的資料,但是沒有找到合適的,最后自己瞎蒙了一下把問題解決了,如何有更合適的解決方案,希望能告知我,大家共同學習,共同進步.
解決方案: 在searchBar的代理方法里面更新約束即可.
-(void)searchBarTextDidBeginEditing:(UISearchBar *)searchBar { [self.searchController.searchBar mas_updateConstraints:^(MASConstraintMaker *make) { make.left.right.equalTo(self.titView); make.top.equalTo(self.titView).offset(-2); make.bottom.equalTo(self.titView).offset(-2); }]; }

最后貼上效果圖吧

CC018F864CB97487630F4C3D9AF8F4FC.png
6FA72D1A09D024A9637E15841C14D87C.png

因為我看網(wǎng)上很少說這塊內(nèi)容的,所以就簡單寫一下,希望能夠幫到正在閱讀的你!!!

最后編輯于
?著作權歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末拟烫,一起剝皮案震驚了整個濱河市嵌戈,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌芦拿,老刑警劉巖桐磁,帶你破解...
    沈念sama閱讀 206,968評論 6 482
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件悔耘,死亡現(xiàn)場離奇詭異,居然都是意外死亡我擂,警方通過查閱死者的電腦和手機衬以,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,601評論 2 382
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來校摩,“玉大人看峻,你說我怎么就攤上這事⊙砗模” “怎么了备籽?”我有些...
    開封第一講書人閱讀 153,220評論 0 344
  • 文/不壞的土叔 我叫張陵,是天一觀的道長分井。 經(jīng)常有香客問我,道長霉猛,這世上最難降的妖魔是什么尺锚? 我笑而不...
    開封第一講書人閱讀 55,416評論 1 279
  • 正文 為了忘掉前任,我火速辦了婚禮惜浅,結(jié)果婚禮上瘫辩,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好伐厌,可當我...
    茶點故事閱讀 64,425評論 5 374
  • 文/花漫 我一把揭開白布承绸。 她就那樣靜靜地躺著,像睡著了一般挣轨。 火紅的嫁衣襯著肌膚如雪军熏。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 49,144評論 1 285
  • 那天卷扮,我揣著相機與錄音荡澎,去河邊找鬼。 笑死晤锹,一個胖子當著我的面吹牛摩幔,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播鞭铆,決...
    沈念sama閱讀 38,432評論 3 401
  • 文/蒼蘭香墨 我猛地睜開眼或衡,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了车遂?” 一聲冷哼從身側(cè)響起封断,我...
    開封第一講書人閱讀 37,088評論 0 261
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎艰额,沒想到半個月后澄港,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 43,586評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡柄沮,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 36,028評論 2 325
  • 正文 我和宋清朗相戀三年回梧,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片祖搓。...
    茶點故事閱讀 38,137評論 1 334
  • 序言:一個原本活蹦亂跳的男人離奇死亡狱意,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出拯欧,到底是詐尸還是另有隱情详囤,我是刑警寧澤,帶...
    沈念sama閱讀 33,783評論 4 324
  • 正文 年R本政府宣布镐作,位于F島的核電站藏姐,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏该贾。R本人自食惡果不足惜羔杨,卻給世界環(huán)境...
    茶點故事閱讀 39,343評論 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望杨蛋。 院中可真熱鬧兜材,春花似錦理澎、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,333評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至举庶,卻和暖如春执隧,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背灯变。 一陣腳步聲響...
    開封第一講書人閱讀 31,559評論 1 262
  • 我被黑心中介騙來泰國打工殴玛, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人添祸。 一個月前我還...
    沈念sama閱讀 45,595評論 2 355
  • 正文 我出身青樓滚粟,卻偏偏與公主長得像,于是被迫代替她去往敵國和親刃泌。 傳聞我的和親對象是個殘疾皇子凡壤,可洞房花燭夜當晚...
    茶點故事閱讀 42,901評論 2 345

推薦閱讀更多精彩內(nèi)容