iOS中在导航条设置搜索框使用小结
最近在项目开发中用到了搜索框,一般是设置在列表顶部或者导航条上。下面说一下在导航条上使用搜索框的思路,刚开始是直接将CCSearchBar添加到导航条,在viewWillDisappear设置隐藏,在viewWillAppear中设置可见,结果在苹果X上出现页面卡顿的情况。原因可能是进入页面的时候获取焦点,
也可能是状态栏高度设置不准确,总之这个方案会有点问题。我们换另外一个思路,将导航条设置为titleview,这里需要特别注意,如果直接将CCSearchBar赋值给self.navigationItem.titleView,搜索框的长度会不受控制,需要封装一层,将搜索框添加到一个view中,然后将该view赋值给titleview。
- (CCSearchBar *)searchBar{
if (!_searchBar) {
_searchBar = [[CCSearchBar alloc]init];
_searchBar.backgroundColor = [UIColor clearColor];
_searchBar.textfiledBgColor = K_CC_GRAY_BG_COLOR;
_searchBar.placeholder = K_CC_LOCAL_STR(@"home.search");
_searchBar.placeHolderFontSize = 14;
_searchBar.placeHolderTextColor = K_CC_TEXT_GRAY_COLOR;
_searchBar.textPosition = SearchBarTextPositionCenter;
_searchBar.textColor = K_CC_COLOR_STRING(@"17315C");
_searchBar.frame = CGRectMake(0, 5, K_CC_SCREEN_WIDTH-146, 34);
_searchBar.delegate = self;
}
return _searchBar;
}
- (UIView *)toolSearch
{
if (!_toolSearch) {
_toolSearch=[[UIView alloc]initWithFrame:CGRectMake(0, 0, K_CC_SCREEN_WIDTH - 106, 44)];
_toolSearch.backgroundColor = [UIColor clearColor];
[_toolSearch addSubview:self.searchBar];
}
return _toolSearch;
}
self.navigationItem.titleView=self.toolSearch;
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(0.6 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
[self.searchBar becomeFirstResponder];
});
iOS中在导航条设置搜索框使用小结的更多相关文章
- jquery控制滚动条改变上面固定(fixed)导航条或者搜索框的属性
<script type="text/javascript"> $(document).ready(function(){ $(window).scroll( func ...
- 【好程序员笔记分享】——iOS开发之使用TextField作为搜索框
-iOS培训,iOS学习-------型技术博客.期待与您交流!------------ iOS开发之使用TextField作为搜索框 今天给大家带来一个新的技巧,比如平时我们要使用代码创建一 ...
- iOS 状态栏和导航条配置
iOS 状态栏和导航条配置 一:隐藏: [self.navigationController setNavigationBarHidden:YES animated:YES]; [[UIApplica ...
- iOS学习之导航条NavigationControl的一些属性设置
/** * 配置公共的属性,该属性作用于所有的导航条界面; */ - (void)configureConmmonPropety { //1.设置导航条的颜色 self.navigationContr ...
- React Native中自定义导航条
这是2017年年初开始的公司的项目,对于导航条的要求很高,Android和iOS上必须用一致的UI,按钮位置还有各种颜色都有要求,而且要适应各种奇葩要求. 尝试了一下当时React Native自带的 ...
- iOS viewController添加导航条以及返回跳转选择
给单独的viewcontroller或者在Appdelegate的主页面添加导航条,只要在viewcontroller上添加navigationcontroller,在添加此navigationcon ...
- iOS改变UINavigationBar导航条标题颜色和字体
转自:http://www.2cto.com/kf/201311/260409.html iOS 5 以后 UINavigationController 可以 改变UINavigationBar导航条 ...
- iOS中UITableView的一些设置
不可滑动: ? 1 tableView.userInteractionEnabled = NO; 也可以在storyboard中的userInteractionEnable属性设置 显示导向箭头: ? ...
- 模拟iOS系统原生导航条隐藏或显示动画
借UIView动画,使更改导航条的hidden属性这一过程动起来.悦德财富:https://yuedecaifu.com 代码 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 ...
- 在iOS中,实现点击搜索结果隐藏搜索结果的方法。
不知道有没有别的什么的好的方法,最近在实现一个需求(点击搜索,然后输入搜索内容,显示搜索出来的结果,然后点击搜索结果,在当前页面显示所点击的结果的详细的信息).遇到的问题是,点击搜索结果的时候,搜索的 ...
随机推荐
- 第九讲: MySQL为什么有时候会选错索引?
第九讲: MySQL为什么有时候会选错索引? 前面我们介绍过索引,你已经知道了在 MySQL 中一张表其实是可以支持多个索引的. 但是,你写 SQL 语句的时候,并没有主动指定使用哪个索引.也 ...
- 【Java】比较业务实体信息变化的工具类
一.业务需求 需要将业务表每次更新操作的前后记录进行保存,写入更新历史表中 方便用户查阅该业务记录发生的历史变化 二.代码实现 import lombok.AllArgsConstructor; im ...
- 【Android】构建Android12项目报错
报错信息: Installed Build Tools revision 31.0.0 is corrupted. Remove and install again using the SDK Man ...
- 【FastDFS】06 SpringBoot实现上传
创建SpringBoot工程: 再导入所需要的依赖: <dependency> <groupId>net.oschina.zcx7878</groupId> < ...
- (摘抄) 源码分析multiprocessing的Value Array共享内存原理
原文地址: http://xiaorui.cc/archives/3290 ============================================================ 摘 ...
- [COCI 2023/2024 #2] Zatopljenje 题解
UPDATE on 2024.4.25 改掉奇怪压行码风,并稍作排版. 前言 题目链接:洛谷. 题目分析 首先发现区间中的个数等于 \(\texttt{高度大于 x 的位置的个数} - \texttt ...
- 调用lcd屏输出德国国旗
/************************************************* * * file name:color.c * author :momolyl@126.com * ...
- Vim:从光标位置开始全局搜索和替换
/\v SEARCHTERM :%s/\vBEFORE/AFTER/gc
- 【CMake系列】10-cmake测试集成googletest与第三方库自动化构建
cmake测试,使用ctest 可能不能满足我们的需求,需要我们使用更为强大的第三方测试框架,如googletest,完成项目中的测试工作 本篇文章将第三方测试框架 googletest,引入,同时也 ...
- Chrome 开启多线程下载
打开 chrome://flags/#enable-parallel-downloading,将 Parallel downloading 设置为 Enabled 参考:为什么Chrome浏览器下载速 ...