我正在努力在UITableView上方创建一个搜索栏,就像在iPod App或Mail应用程序中一样。在iPod应用程序中,当您开始在搜索栏中输入时,导航控制器将消失,UISearchBar将显示在顶部。动画制作并不是太糟糕,但我想确保它的行为与Apple应用程序中的其他搜索栏完全一样。到目前为止,我遇到了两个问题:
当我在键盘上点击“搜索”或在桌面视图上滚动时,键盘会被解雇:
[searchbar resignFirstResponder];
这有效,但搜索栏上的取消按钮被禁用。在搜索栏重新签署第一响应者后,如何保持搜索栏的取消按钮不被禁用?
在搜索栏失去焦点后,用户可以自由地在UITableView中滚动。现在,搜索栏被添加为UITableView的tableHeaderView。这意味着当桌面视图滚动时,搜索栏会在屏幕上滚动。有没有办法让搜索栏保持在UITableView的顶部并且不滚动?我在UITableView上找不到任何可以让tableHeaderView悬停在顶部的属性。
非常感谢任何帮助。谢谢!
答案 0 :(得分:4)
查看文档附带的SimpleSearchDisplay示例应用程序。这正是你要找的。基本上,你甚至不需要做明确的动画。 UISearchDisplayController 为您处理。
这是您的位置。
/Developer/Platforms/iPhoneOS.platform/Developer/Documentation/DocSets/com.apple.adc.documentation.AppleiPhone3_0.iPhoneLibrary.docset/Contents/Resources/Documents/samplecode/SimpleSearchDisplay/
答案 1 :(得分:3)
使用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 < / p>