gpt4 book ai didi

ios - UISearchBar 关闭动画问题

转载 作者:搜寻专家 更新时间:2023-10-31 21:50:19 26 4
gpt4 key购买 nike

我有一个带有 SearchBar 和搜索显示 Controller 的 UITableViewController:

enter image description here

一切都是默认的。导航栏是半透明的。当您单击搜索栏时,导航栏会向上滑动。现在,当您关闭搜索时,它会滑回来,这会在搜索栏和导航栏之间形成一个空白:

enter image description here

任何想法是什么原因导致的以及如何解决它?我正在使用 swift、iOS8.1 和 xcode6.1


我唯一能做的就是将表格 View 的 View 背景设置为蓝色。但这会产生负面影响,即当表格 View 为空时,所有内容都会变成蓝色。

最佳答案

来自 the code you posted on GitHub我可以找到一种方法来避免间隙,显然是动画时间问题。

在您的 FirstTableViewController.swift 中,您需要注册为 UISearchBar 的委托(delegate),然后使用委托(delegate)方法 searchBarTextDidEndEditing 触发自己在 searchBar 关闭时(文本编辑结束后立即)尽早出现导航栏:

这是您的最终 swift 文件,添加了 2 个:第 3 行的 UISearchBarDelegate 和末尾的函数 searchBarTextDidEndEditing:

import UIKit

class FirstTableViewController: UITableViewController, UISearchBarDelegate {

var entries: NSArray = ["Foo", "Bar"];

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return self.entries.count
}

override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {

let cell = self.tableView.dequeueReusableCellWithIdentifier("cell", forIndexPath: indexPath) as UITableViewCell

cell.textLabel?.text = entries[indexPath.row] as? String

return cell
}

override func tableView(tableView: UITableView, didSelectRowAtIndexPath indexPath: NSIndexPath) {
performSegueWithIdentifier("test", sender: nil)
}

// Fix searchbar disappear bug

func searchDisplayControllerDidEndSearch(controller: UISearchDisplayController) {
self.tableView.insertSubview(self.searchDisplayController!.searchBar, aboveSubview: self.tableView)
}


func searchBarTextDidEndEditing(searchBar: UISearchBar) {
self.navigationController?.setNavigationBarHidden(false, animated: true)
}


}

编辑 - 通过在 IB 中调整适当的布局选项,两个 View Controller 都可以工作。

首先:TableViews 的 3 个勾选选项在 Drawing 中:Opaque + Clears Graphics Context + Autoresize Subviews

第二:对于 ViewController 本身,Extended Edges 检查的选项是:Under Bottom Bars + Under Opaque Bars

第三:上面关于 UISearchBar Delegation 的代码...

关于ios - UISearchBar 关闭动画问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26847945/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com