首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

iOS开发-搜索栏UISearchBar和UISearchController

最近项目中用到了搜索栏,所以在网上搜了一些相关的资料学习了一下,现在记录一下,iOS的搜索栏实现起来相对简单一点,网上也有很多参考资料,不过靠谱的不是很多,很多都是iOS 8.0之前的实现,iOS...8.0上的实现貌似很少看到,看了一些其他人的代码,使用了一下UISearchController感觉还是非常不错的。...,信息如下: 'searchDisplayController' is deprecated: first deprecated in iOS 8.0,这么明显一个警告总不能视而不见吧 ,也就是说 iOS...这个委托实现上面的效果; 视图中需要声明UISearchResultsUpdating: @interface ViewController : UITableViewController<UITableViewDelegate...= CGRectMake(self.searchController.searchBar.frame.origin.x, self.searchController.searchBar.frame.origin.y

2.3K70
您找到你想要的搜索结果了吗?
是的
没有找到

自定义UISearchController的外观

以前我们在项目中使用搜索框的时候,如果用系统自带的控件则是使用UISearchDisplayController,而自从iOS8之后,系统重新给我们提供了一个搜索控件:UISearchController...在UISearchController我们无需再自己初始化UISearchBar,只需要提供searchResult展示的视图。...,代码充斥着各种写好的UISearchBar的展示,而改动底层框架并不是一个较好地实践。...SDK提供的UISearchBar,在iOS7之前是分为UISearchBarBackground、UISearchBarTextField、UIButton这几个类的实例组成,而在iOS7之后,是将...cancelButton时,一定要确保cancelButton包含在了UISearchBar,必要时可以提前调用: [_searchController.searchBar setShowsCancelButton

1.6K20

iOS 问题总结(五)

使用 cocoapods 时,编译报错 在 Building Setting 的Other Linker Flags 检查是不是为空了,如果是那么添加一句 $(inherited),再重新编译就不会报错了...,苹果开发中心的demo的对这行代码,注释如下 // know where you want UISearchController to be displayed 如果不添加上面这行代码,在设置 hidesNavigationBarDuringPresentation...现在搜索栏没有发生偏移,但是导航栏却没有隐藏,于是我把 NO 改为了 YES,运行如下图: ? ? 结果还是发生了偏移。...然后我又把隐藏导航栏设置为了YES: _searchController.hidesNavigationBarDuringPresentation = YES; 搜索框就能正常显示了,如下图: ?...然后我又试着把隐藏导航栏的属性注释掉,然后运行,还是能够正常显示,下面是随后的代码: -(UISearchController *)searchController { if (_searchController

1.5K10

UINavigationController 导航控制器概念属性方法

(通过navigationController. navigationBar方式可以调用) NavigationBar管理多个NavigationItem,和NavigationController一样都是用...(null_resettable,nonatomic,readonly) UIToolbar *toolbar; 8、获取导航的返回手势对象(iOS7之后,在导航右划会进行pop操作,设置这个的enable...@property (nonatomic, readwrite, assign) BOOL hidesBarsWhenVerticallyCompact; 13、敲击屏幕可以隐藏与显示导航栏 @property...,push后隐藏tabbar @property(nonatomic) BOOL hidesBottomBarWhenPushed; (3)获取管理它的导航控制器 @property(nullable...压入新的视图控制器 - (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated; 这个方法是为了iOS

2.1K60

《手管iPhoneX的适配总结》

https://developer.apple.com/videos/play/fall2017/201/) -> 主要提及SafeArea的概念以及横屏情况下的区域如何设计,还有TableView的SearchBar...适配 三、整理一下发型 将旧版本App塞满屏幕后,来到我们最关心的“刘海”问题了 见图可知,我们默认的StatusBar在iPhoneX也有了相对的调整,对于开发和布局设计(UI标注)也需要去注意这个问题...(注意使用接口需要iOS 11+系统,方法前请务必进行系统判断) SafeArea帮助我们将View设置在整个屏幕的可视化部分,即使把NavigationBar设置为透明的,系统也认为SafeArea...是从NavigationBar的bottom开始的。...SafeArea可以确保可视区域不被系统的状态栏、或俯视图提供的View(导航栏)覆盖。

42120

iOS开发——UINavigationBar踩过的坑

自从升级了Xcode8,以及在做iOS10的适配工作,我发现在NavigationBar这个控件,有了一个小小的坑。...但是我这次发现,在我升级到iOS10之后,iOS10的设备虽然使用了以前的方法,但是还是出现了这个细线,但是iOS10以下的设备这条细线还是不存在的。...于是我自己得出了这么个结论,之前去除NavigationBar的这条细线的方法失效了(这里并不是说所有方法失效,至少我使用的方法是失效的),那么在发现自己有这个问题的时候,不妨可以来换一种方法实现隐藏NavigationBar...头文件的方法声明 /** * NavigationBar底部隐藏1px的线 */ - (void)lix_hideBottomHairline; /** * NavigationBar底部显示...底部线条的隐藏和显示,这样的代码可扩展性更好。

88530

手机管家 iPhoneX 的适配总结

List—— 一些官方必备要领的传送门: 官方说明 WWDC__Building Apps for iPhone X ->主要提及SafeArea的概念以及横屏情况下的区域如何设计,还有TableView的SearchBar...适配 三、整理一下发型 将旧版本App塞满屏幕后,来到我们最关心的“刘海”问题了 见图可知,我们默认的StatusBar在iPhoneX也有了相对的调整,对于开发和布局设计(UI标注)也需要去注意这个问题...(注意使用接口需要iOS 11+系统,方法前请务必进行系统判断) SafeArea帮助我们将View设置在整个屏幕的可视化部分,即使把NavigationBar设置为透明的,系统也认为SafeArea...是从NavigationBar的bottom开始的。...SafeArea可以确保可视区域不被系统的状态栏、或俯视图提供的View(导航栏)覆盖。

1.5K00

【技巧】ionic3的小彩蛋

ionic里面有不少彩蛋——就是官网没有说明,但是可以用的,因为一段时间没用ionic做项目,所以一时想不起来,先列几个: 一、众所周知的 软键盘出现搜索按钮 form标签包含ion-searchbar...解决非交互组件的点击延时 这类组件也是可以响应点击事件的,只是因为要判断是否有后续响应(判断是否双击),会有几百ms的延时,这时加上tappable即可 二、较为隐藏的 输入框内容支持复制黏贴...ion-input包含在ion-item里面即可,而且如果不包,在ios可能还会出现问题。...其实,我们只要取现有样式名,换掉后缀,并添加即可,ios平台ion-checkbox会生成checkbox-ios样式,一般只需给该控件加上checkbox-md类名即可变成android风格,因为它一般会覆盖原来的平台的样式..._beginRefresh(); } input相关组件的隐藏事件 像ion-searchbar、ion-input、ion-textarea等,都是有ionBlur、ionFocus、ionChange

62450
领券