ios – 使用UISearchDisplayController时,d出窗口不会显示在iPad视图控制器上

ios – 使用UISearchDisplayController时,d出窗口不会显示在iPad视图控制器上,第1张

概述我在UIViewController中创建了一个UISearchDisplayController,它位于UINavigationController中. 我使用了正常的init: self.displayController = [[UISearchDisplayController alloc] initWithSearchBar:searchBar contentsController:se 我在UIVIEwController中创建了一个UISearchdisplayController,它位于UINavigationController中.

我使用了正常的init:

self.displayController = [[UISearchdisplayController alloc] initWithSearchbar:searchbar contentsController:self];self.displayController.searchResultsDataSource = self;self.displayController.searchResultsDelegate = self;self.displayController.delegate = self;self.displayController.displaysSearchbarInNavigationbar = YES;

此代码工作正常,并显示iPhone中的灰色视图,但在iPad上它什么都不做.我在网上看,大多数人都说应该自动显示结果的d出框.我根本没有看到这种情况发生.我是否必须以不同的方式为iPad UIVIEwControllers执行此 *** 作?

我是以编程方式创建的.

解决方法 我在iPad和iOS7上的模态视图控制器(PageSheet样式)中使用UISearchdisplayController时发现了同样的问题:UISearchdisplayController不会像在iPhone上那样将自身附加到视图控制器的视图层次结构中.

作为一个不干净但有效的解决方法,您可以将自己的UISearchdisplayController生成的tableVIEw附加到您的一个委托方法中的视图层次结构中:

- (voID)searchdisplayController:(UISearchdisplayController *)controller dIDLoadSearchResultstableVIEw:(UItableVIEw *)tableVIEw{    if ([[UIDevice currentDevice] userInterfaceIdiom] == UIUserInterfaceIdiomPad)    {        tableVIEw.frame = self.vIEw.frame;        [self.vIEw addSubvIEw:tableVIEw];    }}

有两个警告:

>您必须自己创建和显示灰色视图,只需在相同的帧大小的self.vIEw上创建一个黑色背景颜色和50%Alpha的视图
>您可能必须修复UISearchdisplayController提供的表视图的内容insets.

例如:

- (voID)searchdisplayController:(UISearchdisplayController *)controller willShowSearchResultstableVIEw:(UItableVIEw *)tableVIEw {    tableVIEw.contentInset = UIEdgeInsetsMake(44.f,0.f,0.f); }
总结

以上是内存溢出为你收集整理的ios – 使用UISearchDisplayController时,d出窗口不会显示在iPad视图控制器上全部内容,希望文章能够帮你解决ios – 使用UISearchDisplayController时,d出窗口不会显示在iPad视图控制器上所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://www.54852.com/web/1066521.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-26
下一篇2022-05-26

发表评论

登录后才能评论

评论列表(0条)

    保存