2017-09-22 58 views
3

對於IOS 11,我在UISearchController中遇到另一個問題。 由於默認身高值變成了56 rightBarButtonItemleftBarButtonItem都停留在原來的位置,無論它是文字還是圖片。iOS 11 UISearchBar:left + rightbarbuttonitem垂直中心問題

我需要到中心項目到搜索欄,因爲它是在IOS 10

refresh buttons are not centered

正如你所看到的項目的按鈕比搜索欄的中心位高。

我試圖做的:[self.searchController.searchBar.heightAnchor constraintLessThanOrEqualToConstant: 44].active = YES;

但我得到的搜索欄重疊的按鈕:

searchbar overlaps buttons

然而,當我進入編輯模式,按下取消返回回來 - 它開始好看在44個約束的情況下。

我也嘗試玩centerYanchorimageView(的按鈕)相同的searchBar但已經崩潰。

+0

[self.searchController.searchBar.heightAnchor constraintEqualToConstant:44] .active = YES; - 從編輯模式進入後,在開始時有錯誤,並且對齊良好。仍然不知道。 – NeuroSMETANA

+0

GIF:https://gyazo.com/1091697cd2759e4507740fef7eb0323a – NeuroSMETANA

+0

我從你的視頻中注意到,UISearchBar在成爲第一個應答時正在向下移動一些像素。我有同樣的問題,我試過@canadaboy代碼但沒有成功。這是否解決了你的下移? – aneuryzm

回答

2
- (void)viewWillLayoutSubviews { 
    [super viewWillLayoutSubviews]; 
    if (@available(iOS 11.0, *)) { 
     [self.searchBar.heightAnchor constraintLessThanOrEqualToConstant: 44].active = YES; 
    } 
} 
+0

謝謝,是的,這樣更好!除非您旋轉設備... – NeuroSMETANA