【问题标题】:UISearchBar Disappears when tappedUISearchBar 点击时消失
【发布时间】:2013-11-21 09:03:43
【问题描述】:

我有一个 UITableView,其数据源和委托不是由放置它的视图控制器处理,而是由另一个名为 AbstractInviteFriendsDataSourceDelegate 的类处理。

我在UITableView 中放置了UISearchBarUISearchDisplayController,并手动(不使用情节提要接口)将它们的委托和数据源设置为处理UITableView 的数据源和委托的控制器。

- (id)init
{
    self = [super init];
    if (self) {
        friendsArray = [FriendsToInvite new];
        UISearchBar *searchBar = [self.delegate theSearchBar];
        searchBar.delegate = self;
        UISearchDisplayController *searchDisplay = [self.delegate theSearchDisplayController];
        searchDisplay.delegate = self;
        searchDisplay.searchResultsDataSource = self;
        searchDisplay.searchResultsDelegate = self;
    }
    return self;
}

我认为这没问题,因为当我实现搜索栏的委托方法之一时,它被正确调用了。

但是现在,当我点击搜索栏时,它会向左滑动,为取消按钮腾出空间,然后它就消失了。我还没有为UISearchBar 委托、UISearchDisplayController 委托和数据源实现任何方法。

我尝试实现searchBarShouldBeginEditing 只是为了看看它是否在搜索栏消失之前被调用,是的,它被调用了,但是在这个方法返回之后搜索栏消失了。

- (BOOL)searchBarShouldBeginEditing:(UISearchBar *)searchBar
{
    return YES;
}

编辑: 我已经解决了这个问题,似乎我从情节提要中有searchContentController 出口。我将它设置回包含表格视图的视图控制器,现在可以了。

【问题讨论】:

  • 尝试在你的 VC 中设置约束。
  • 由于某种原因,当我在情节提要中选择搜索栏时,它不允许我放置约束,我无法选择其中任何一个。
  • 我刚刚制作了示例项目,放置了一个 UITableView,并在其中放置了 UISearchDisplayController。一切都好。请向我们提供更多反馈或上传您的示例项目,以便我们查看此问题。
  • 好的,我现在将扩展问题。
  • 我已经解决了这个问题,请查看上方。

标签: ios uitableview delegates uisearchbar


【解决方案1】:

我也遇到了同样的问题,并通过像这样在表格视图中添加搜索栏来解决。

【讨论】:

    猜你喜欢
    • 2014-03-06
    • 1970-01-01
    • 1970-01-01
    • 2014-07-15
    • 1970-01-01
    • 2018-12-21
    • 2014-08-22
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多