在UITableView中使用UISearchBar进行搜索,如iPod App

我正在制作UITableView上方的搜索栏,就像在iPod应用程序或邮件应用程序中一样。 在iPod应用程序中,当您开始在搜索栏中输入时,导航控制器将消失,并且UISearchBar会移至顶部。 动画制作并不难,但我想确保它的行为与Apple应用程序中的其他搜索栏完全相同。 我目前有两个问题:

  • 当我点击键盘上的“搜索”或在桌面视图上滚动时,键盘会被解除:[searchbar resignFirstResponder];
    这是有效的,除了搜索栏上的取消按钮被禁用。 在搜索栏已经退出第一响应者后,如何让搜索栏的取消按钮禁用自身?

  • 在搜索栏失去焦点后,用户应该可以自由地在UITableView中滚动。 现在,该搜索栏被添加为UITableView的tableHeaderView。 这意味着当tableview滚动时,搜索栏会立即滚动屏幕。 有没有办法让搜索栏停留在UITableView的顶部并且不滚动? 我在UITableView上找不到任何可以让tableHeaderView悬停在顶部的属性。

  • 任何帮助将不胜感激。 谢谢!


    查看文档附带的SimpleSearchDisplay示例应用程序。 这正是你正在寻找的。 基本上,你甚至不需要做明确的动画。 UISearchDisplayController为你处理它。

    这是你的位置。

    /Developer/Platforms/iPhoneOS.platform/Developer/Documentation/DocSets/com.apple.adc.documentation.AppleiPhone3_0.iPhoneLibrary.docset/Contents/Resources/Documents/samplecode/SimpleSearchDisplay/
    

    使用SDK 3.1,SimpleSearchDisplay似乎已被TableSearch取代:

    http://developer.apple.com/iphone/library/samplecode/TableSearch/index.html

    或本地:

    文件:///Developer/Platforms/iPhoneOS.platform/Developer/Documentation/DocSets/com.apple.adc.documentation.AppleiPhone3_1.iPhoneLibrary.docset/Contents/Resources/Documents/samplecode/TableSearch/index.html

    链接地址: http://www.djcxy.com/p/55959.html

    上一篇: Searching with UISearchBar in UITableView like iPod App

    下一篇: How to target older platforms with JDK9? (Target: 1.3)