Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/114.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios 抖动搜索栏取消/结束编辑动画_Ios_Swift_Ios Animations - Fatal编程技术网

Ios 抖动搜索栏取消/结束编辑动画

Ios 抖动搜索栏取消/结束编辑动画,ios,swift,ios-animations,Ios,Swift,Ios Animations,我有一个搜索栏,正试图让它像你在iPhone设置中看到的一样。点击后,动画将放大镜从搜索栏的中间平滑地过渡到搜索栏的左侧,并平滑地引入“取消”按钮。但是,当我按下取消动画冻结,然后跳回到正常,与搜索图标在中间的酒吧和取消按钮隐藏看到GIF预览。我的代码中有什么东西使这种情况发生吗?这是搜索条形码: func searchBarTextDidEndEditing(_ searchBar: UISearchBar) { searchBar.setShowsCancelButton(false

我有一个搜索栏,正试图让它像你在iPhone设置中看到的一样。点击后,动画将放大镜从搜索栏的中间平滑地过渡到搜索栏的左侧,并平滑地引入“取消”按钮。但是,当我按下取消动画冻结,然后跳回到正常,与搜索图标在中间的酒吧和取消按钮隐藏看到GIF预览。我的代码中有什么东西使这种情况发生吗?这是搜索条形码:

func searchBarTextDidEndEditing(_ searchBar: UISearchBar) {
    searchBar.setShowsCancelButton(false, animated: true)
}

func searchBarCancelButtonClicked(_ searchBar: UISearchBar) {
    self.view.endEditing(true)
    searchBar.setShowsCancelButton(false, animated: true)
}

输入必要的代码

public func searchBarShouldEndEditing(_ searchBar: UISearchBar) -> Bool
不知道你为什么要在shouldEnd中隐藏按钮,但在shouldEnd中显示按钮

public func searchBarTextDidBeginEditing(_ searchBar: UISearchBar) {
    searchBar.setShowsCancelButton(true, animated: true)
}

public func searchBarShouldEndEditing(_ searchBar: UISearchBar) -> Bool {
    searchBar.setShowsCancelButton(false, animated: true)
    return true
}

func searchBarCancelButtonClicked(_ searchBar: UISearchBar) {
    searchBar.resignFirstResponder()
}

谢谢你,马修。我还想知道,你能分享你的searchBarCancelButtonClicked代码吗?这就是我现在遇到的问题。谢谢我猜你想关闭搜索栏。辞职应该是可行的。编辑我的帖子。