2016-07-04 70 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() 
    } 
}