随笔 - 0  文章 - 1  trackbacks - 0
<2015年5月>
262728293012
3456789
10111213141516
17181920212223
24252627282930
31123456

常用链接

留言簿

文章分类

文章档案

搜索

  •  

最新评论

1.  UISearchDisplayController.searchResultsTableView 的frame指定只有在didShowSearchResultsTableView委托调用之后,反正我觉得系统会改动它的大小位置,所以我不得不写了一个重新定位它的frame,来覆盖系统的默认设置。

2.
UISearchDisplayController.searchResultsTableView也能使用分组样式UITableViewStyleGrouped,只是没有现成的接口,你可以通过KVC机制修改它的私有变量_searchResultsTableViewStyle来达到目的。

3. 关于修改no results标签的问题。我觉得网上的答案,包括stackoverflow上的答案,很多都忽略了一个问题:在shouldReloadTableForSearchString委托中找到searchResultsTableView的label成员,然后将label.text修改为自己想要的描述。但是在第一次加载的searchResultsTableView的时候,它还没有加载子视图,no result 标签会修改失败。所以要推迟相关的子视图检测代码的执行:
dispatch_time_t popTime = dispatch_time(DISPATCH_TIME_NOW, 0.001);
    dispatch_after(popTime, dispatch_get_main_queue(), 
^(void){
        
for (UIView * subview in self.searchDC.searchResultsTableView.subviews) {
            
if ([subview isKindOfClass: [UILabel class]])
            {
                subview.hidden 
= YES;
            }
        }
    });

4. 关于修改背景searchResultsTableView背景的问题:使用UITableViewStyleGrouped总会有一些麻烦,我个人是这么认为的。反正我在viewDidLoad接口里修改背景颜色是不成功的,够来在UISearchBar的委托方法里修改成功了。在用UITableViewStyleGrouped风格的时候,别忘了这一句:searchResultsTableView.backgroundView = nil,没有它你修改不了背景颜色。

5.一个关于searchResultsTableView的奇怪问题:搜索之后,我能得到searchResultsTableView正确的样式,但是在没有取消搜索的时候,我通过TabBar切换另一个页面(TabBar管理了两个页面,我搜索的是其中一个页面),然后再切回来,怪事发生了:
searchResultsTableView的宽和高都变为原来的两倍,我无法解释。

6.didLoadSearchResultsTableView委托方法的问题:通过模拟器测试,我发现它只会在willUnloadSearchResultsTableView调用后调用,也就是在searchResultsTableView unload之后,而不是在searchResultsTableView 加载完之后,这让我觉得非常奇怪,因为它的命名跟它的行为完全不符。
posted on 2013-05-28 19:42 Long 阅读(2801) 评论(1)  编辑 收藏 引用 所属分类: iOS

FeedBack:
# re: 关于UISearchDisplayController的一些使用经验分享 2015-05-08 17:54 陈雅伦
请问下 第一个 问题你是怎么解决的呢 能分享下吗 拜托了请联系我 308088385 QQ  回复  更多评论
  

只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理