如何设置背景图像,或清除search栏的背景,如笔记应用程序?
通常情况下,一个UISearchDisplayController被激活后,会调暗tableView并关注searchBar。 只要在searchBar中input文本,它就会在searchBar和键盘之间创build一个searchResultsTableView。 当第二个UITableView被加载/显示/隐藏/卸载时,searchDisplayController的委托被调用。 通常它会在打字时显示实时search结果或自动完成条目。 在我的应用程序中,我想search一个web服务,我不想为用户input的每个字母调用web服务。 因此,我想完全禁用searchResultsTableView,并在input文本时保留变暗的黑色叠加层。 一旦他点击searchbutton,我会触发search(加载屏幕)。 只是返回零行searchResultsTableView看起来不太好,因为它显示一个空的searchResultsTableView与“没有结果”消息。 我试图隐藏表( searchDisplayController:didLoadSearchResultsTableView:哪些工作,但黑色暗灰色叠加也隐藏,使底层tableView是完全可见的。 任何想法,除了重新创buildUISearchDisplayControllerfunction?
我有一个UISearchBar作为一个表视图的生活filter。 当通过endEditing:键盘被解除时,查询文本和灰色圆形“清除”button保持不变。 从这里,如果我点击灰色的“清除”button,键盘会在文本被清除时重新出现。 我如何防止这种情况? 如果键盘当前没有打开,我希望该button清除文本,而无需重新打开键盘。 有一个协议方法,当我点击清除button时被调用。 但发送UISearchBar resignFirstResponder消息不会对键盘有任何影响。
在iOS 11中,苹果公司重新devise了UISearchBar,使angular落更圆,高度更大。 将UISearchBar添加到navigationBar非常简单,只需使用navigationItem.titleView = searchBar将其设置为navigationItem.titleView = searchBar 。 不过,在iOS 11中,它似乎不像预期的那样工作。 看看我们使用iOS 10和iOS 11比较相同设置的屏幕 iOS 10 iOS 11 您可以清楚地看到,SearchBar增加了NavigationBar的大小,但是栏button没有正确alignment。 此外,searchBar不再使用左侧的可用空间。 将searchBar放到一个包装视图中以获取iPad上的取消button,如下所述取消button不会显示在UISearchBar中,因为searchBar根本不可见,所以似乎也不再适用了。 如果任何人有类似的问题,或已经知道如何修复/改善,我会非常感激。 这是使用Xcode 9 Beta 4构build的。也许以后的版本将解决这个问题。 更新: 我们现在决定使用下面的解决scheme:我们在NavBar中添加了一个新的UIBarButtonItem,当用户按下这个button时,我们将展示一个新的ViewController,我们只把一个SearchBar放到NavBar中, 。 使用选定的答案可能是最好的解决scheme。
我想我的searchBar的色调是白色的(这意味着取消button是白色的)。 当色调为白色时,光标不可见。 有没有办法分别设置光标颜色?
对于我们应用程序中的UISearchBars,在iOS 7下运行时,焦点栏中没有显示光标。我们如何制作该节目? 我们正在使用SDK 7,最低目标为6.我们对导航栏有半透明性,并在运行时设置颜色。 我想不出别的什么,我们做的不同。
在iPhone上的联系人应用程序中,如果您inputsearch词,然后点击“search”button,键盘被隐藏,但取消button仍处于启用状态。 在我的应用程序中,当我呼叫resignFirstResponder时取消button被禁用。 任何人都知道如何隐藏键盘,同时保持取消button处于启用状态? 我使用下面的代码: – (void)searchBarSearchButtonClicked:(UISearchBar *)searchBar { [searchBar resignFirstResponder]; } 键盘滑出视图,但search文本字段右侧的“取消”button被禁用,因此我无法取消search。 联系人应用程序将取消button保持在启用状态。 我想也许有一个解决scheme是潜入searchBar对象,并在实际文本字段上调用resignFirstResponder,而不是search栏本身。 任何input赞赏。
我正在使用UISearchController在tableview的标题视图内显示一个search栏: … self.searchController.hidesNavigationBarDuringPresentation = NO; self.presentingTVC.tableView.tableHeaderView = self.searchController.searchBar; [self.searchController.searchBar sizeToFit]; self.presentingTVC.tableView.tableHeaderView = self.searchController.searchBar; (其中设置tableHeaderView属性两次是必要的,否则标题视图重叠第一行,参考几个答案 ) 这是它看起来的样子,完全处于非活动状态时的位置: search栏应该保持在活动状态 – 我不希望它向上移动以隐藏导航栏。 但它意外地缩小了,在它和导航栏之间留下了一个空白区域: 这是一个奇怪的search栏animationvideo 如果我只是单独使用search栏从UISearchController,它不会显示相同的行为,当它变为活动。 在我的呈现视图控制器中,我有self.definesPresentationContext = YES; 和self.navigationController.navigationBar.translucent = YES; ,而在IB中,没有任何“扩展边缘”框是活动的(所有这些似乎都是可能导致search呈现的东西,从阅读的周围)。 有谁知道我可以停止search栏从animation下来?
结构: View1(点击一个button) – >现在模态(MyModalView:UITableViewController) MyModalViewembedded了UISearchController。 UISearchController的searchBar放置在MyModalView.tableView.tableHeaderView中。 从iOS 8.0开始,它一直在正常工作。 但是,在iOS 9上,当UISearchController处于活动状态时,searchBar会消失。 请看下面的这些照片 模态观点: UISearchController在iOS 8上处于活动状态: UISearchController在iOS 9上处于活动状态: 非常标准的代码: override func viewDidLoad() { super.viewDidLoad() // Dynamically create a search controller using anonymous function self.resultSearchController = ({ let controller = UISearchController(searchResultsController: nil) controller.searchResultsUpdater = self controller.dimsBackgroundDuringPresentation = false controller.searchBar.sizeToFit() controller.searchBar.delegate = self self.tableView.tableHeaderView = controller.searchBar return controller })() […]
在UISearchBar控件中,是否将键盘的search键标题更改为完成?