将 UISearchBar 作为子视图添加到 tableView 标题中

Posted

技术标签:

【中文标题】将 UISearchBar 作为子视图添加到 tableView 标题中【英文标题】:Adding UISearchBar into tableView header as subview 【发布时间】:2012-04-06 06:47:33 【问题描述】:

我正在尝试向UITableView 添加一个自定义标题,其中包含一些按钮和一个UISearchBar。 问题是,当我尝试使用 searchBar 时,我收到一条消息:

setting the first responder view of the table but we don't know its type (cell/header/footer)

有人遇到过这样的问题吗?

【问题讨论】:

【参考方案1】:

您是否通过以下方式添加到表格中:

[self.tableView addSubview:customView]

如果是这样,那可能是您的错误。将子视图添加到 UITableView 需要您明确地将它们添加为页眉、页脚或单元格。试试:

self.tableView.tableHeaderView = customView

【讨论】:

不正确。你可以以任何你想要的方式向 UITableView 添加子视图,就像任何其他 UIView 一样。【参考方案2】:

只需按照这里的简单步骤..

    在“.h”文件中为 mySearchBar 创建一个属性并进行合成。 在 viewDidLoad/viewDidAppear 方法中设置其属性(或者您可以在 Interface Builder 中简单地进行)

    使用以下委托方法将其设置为表格视图的标题...

    – (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section                  
            return self.mySearchBar;
    
    

【讨论】:

@Bartek 想要一个包含搜索栏的自定义标题,而不是搜索栏本身。 @Anthony:如果您只想要搜索栏而标题视图中没有其他内容,那么这应该可以正常工作。请试试这个,如果它不起作用,请告诉我。 OP 不仅想要一个搜索栏,他/她还想要按钮。您提出的问题的解决方案是错误的。

以上是关于将 UISearchBar 作为子视图添加到 tableView 标题中的主要内容,如果未能解决你的问题,请参考以下文章

在 iOS7 中使用 UISearchBar 将子视图添加到 tableHeaderView 行为不端

UITextfield 在 iOS 7 中不能作为 UISearchBar 的子视图?

UISearchBar 移动到屏幕顶部时未收到触摸

iOS 7 UISearchBar 右间距

我应该将底部工作表作为子视图添加到当前视图控制器还是推送添加了子视图的 UIWindow?

如何将collectionview作为子视图添加到viewcontroller