2016-07-04 72 views
1

我在下面幾行代碼後消失:取消按鈕解僱的UISearchBar鍵盤

func searchBarTextDidBeginEditing(searchBar: UISearchBar) { 
    searchBar.showsCancelButton = true 
} 

func searchBarSearchButtonClicked(searchBar: UISearchBar) { 
    searchBar.resignFirstResponder() 
} 

當我點擊搜索按鈕,鍵盤被駁回,取消按鈕消失。

解決方案是什麼?

+0

你的目的是什麼? – childrenOurFuture

+0

我認爲你的約束是混亂的。或者我錯了? –

+0

@childrenOurFuture當用戶開始搜索時,導航欄將被隱藏,取消按鈕將顯示。導航欄將始終隱藏,直到用戶點擊取消按鈕 – Mohammed

回答

0

已解決!

我已經通過在UISearchBar旁邊添加UIButton [cancelButton]解決了問題,並將寬度約束添加爲@IBOutlet。現在,我不再顯示searchBar的cancelButton,而是改變cancelButton的寬度來顯示或隱藏如下:

func searchBarTextDidBeginEditing(searchBar: UISearchBar) { 
    UIView.animateWithDuration(0.25) { 
     self.widthConstraint.constant = 44.0 
     self.cancelButton.layoutIfNeeded() 
    } 
} 

@IBAction func cancelButtonTapped(sender: UIButton) { 
    UIView.animateWithDuration(0.25) { 
     self.widthConstraint.constant = 0.0 
     self.cancelButton.layoutIfNeeded() 
    } 
}