ipad – 为什么UISearchBar及其范围按钮显示在一行?

ipad – 为什么UISearchBar及其范围按钮显示在一行?,第1张

概述我看过Apple的示例“TableSearch”,触摸其范围按钮时会出现在搜索栏下方. http://developer.apple.com/iphone/library/samplecode/TableSearch/Introduction/Intro.html 但是,当我自己制作时,它看起来很不错,但当我触摸它看起来像丑陋时,范围按钮和搜索栏显示在同一行中,如下所示: http://cl.ly 我看过Apple的示例“tableSearch”,触摸其范围按钮时会出现在搜索栏下方.
http://developer.apple.com/iphone/library/samplecode/TableSearch/Introduction/Intro.html

但是,当我自己制作时,它看起来很不错,但当我触摸它看起来像丑陋时,范围按钮和搜索栏显示在同一行中,如下所示:
http://cl.ly/BN9

我该怎么办才能让它像iPad中的“tableSearch”一样?

我正在做IB中的所有事情,并尝试从控制器以编程方式修改搜索栏:

- (voID)vIEwDIDLoad {        [super vIEwDIDLoad];        self.tableVIEw.rowHeight = 88.0f;        self.tableVIEw.contentOffset = CGPointMake(0,self.searchdisplayController.searchbar.frame.size.height);self.searchdisplayController.searchResultstableVIEw.rowHeight = self.tableVIEw.rowHeight;    //BELOW DID NOT WORK:    CGRect b = self.searchdisplayController.searchbar.bounds;    self.searchdisplayController.searchbar.bounds = CGRectMake(b.origin.x,b.origin.y,b.size.wIDth,self.tableVIEw.rowHeight);    b = self.searchdisplayController.searchbar.frame;    self.searchdisplayController.searchbar.frame = CGRectMake(b.origin.x,self.tableVIEw.rowHeight);    //BELOW WORKS PERFECT BUT IS A PRIVATE METHOD,HENCE I AM NOT SUPPOSED TO USE IT    //[self.searchdisplayController.searchbar setCombinesLandscapebars:NO];     }

提前致谢.

解决方法 我也遇到过这个错误,我已经向Apple提交了一份报告,并要求提供技术帮助.我会告诉你它是怎么回事.与此同时,我将简要介绍一下这个BUG.

在iPhone上,为了在横向模式下保留珍贵的垂直屏幕空间,UISearchdisplayController将UISearchbar设置为在单个水平布局中组合其搜索栏和搜索字段.由于屏幕的水平尺寸增加(横向480点),因此效果非常好.不幸的是,它在iPad上工作得不是很好,在横向模式下,首先不需要改变UI因为你有足够的垂直空间.在UISplitVIEwController的主视图中,您仍然只有320像素的水平显示空间,而不是增加的480的iPhone.结果是iSore.

据推测,问题在于UISearchdisplayController在其willRotatetoInterfaceOrIEntation:duration:方法中表现不佳.具体来说,在它的UISearchbar上设置combineLandscapebars属性之前,无需检查它是否在iPhone上.您的代码中的私有API kludge可以正常工作,因为它修复了UISearchdisplayController中的疏忽.但是,苹果公司当然会因为使用未记录的API而逐渐降低古人对你的愤怒,所以你做不到.真的,我们受苹果公司的支配.

如果你愿意放弃UISearchdisplayController的眼睛和便利,你可以使用UISearchbar没有UISearchdisplayController并自己管理演示的各个方面.显然,如果Apple的API工程师完成了他们的工作,这需要更多的代码并且毫无意义,但它至少会解决显示错误.

如果你是Apple,你可以使用你自己的未记录的API,这就是Mail.app没有这个问题的原因.

UPDATE

我向Apple提交的错误报告是#8344719.

总结

以上是内存溢出为你收集整理的ipad – 为什么UISearchBar及其范围按钮显示在一行?全部内容,希望文章能够帮你解决ipad – 为什么UISearchBar及其范围按钮显示在一行?所遇到的程序开发问题。

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

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

原文地址: https://outofmemory.cn/web/1084063.html

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

发表评论

登录后才能评论

评论列表(0条)

保存