iOS新浪微博-1.1导航栏搜索框

导航栏搜索框是非常常用一个UI控件。

1.需求:

  • 在“发现”页面,在顶部导航栏NavigationBar上添加一个搜索框
  • 左端带有“放大镜”图标

2.思路

  • 使用UISearchBar: 苹果系统自带,简单易用,但是样式死板不能定制(此处UISearchBar的背景色容易和导航栏的背景色混淆),不能修改宽高,而且在iOS6和iOS7上会产生不同的样式。
  • 使用UITextField创建:继承或者扩展UITextField,设置背景图和左端图标

3.实现

  • 创建一个继承UITextField的自定义类,这里命名为UYSearchBar
  • 重写initWithFrame方法,用来初始化搜索框的图标、背景图片、图标和文字的对称方式、清除按钮的显示
  • 在需要的控制器上实例化UYSearchBar,赋予其位置尺寸信息,添加到NavigationItem的titleView上

4.设置搜索图片为可拉伸

时间: 2024-11-05 01:34:19

iOS新浪微博-1.1导航栏搜索框的相关文章

IOS 实现自定义的导航栏背景以及自定义颜色的状态栏(支持7.0以及低版本)

为尊重文章原作者,转载务必注明原文地址:http://www.cnblogs.com/wt616/p/3784717.html 先看效果图: 在自定义导航栏背景时,可能会遇到以下一些问题: 1.当设置导航栏背景后,状态栏的颜色也会跟着一起改变掉,这可能不是你说希望看到的 2.IOS7以上的版本和低版本显示出来的导航栏高度位置有差别,这个差别就是状态栏的高度20,为了兼容低版本,必须统一 解决思路: 1.不正常的是状态栏的背景也一起变了,而状态栏的文字是可以通过其他API去设置的:如 [[UIAp

iOS 7 教程:定制iOS 7中的导航栏和状态栏

目录(?)[-] iOS 7中默认的导航栏 设置导航栏的背景颜色 在导航栏中使用背景图片 定制返回按钮的颜 修改导航栏标题的字体 修改导航栏标题为图片 添加多个按钮 修改状态栏的风格 隐藏状态栏 总结 注:本文译自Customizing Navigation Bar and Status Bar in iOS 7 近期,跟大多数开发者一样,我也正忙于对程序进行升级以适配iOS 7.最新的iOS 7外观上有大量的改动.从开发者的角度来看,导航栏和状态栏就发生了明显的变化.状态栏现在是半透明的了,这

【好程序员笔记分享】——iOS开发之使用TextField作为搜索框

-iOS培训,iOS学习-------型技术博客.期待与您交流!------------ iOS开发之使用TextField作为搜索框     今天给大家带来一个新的技巧,比如平时我们要使用代码创建一个搜索框的时候,一般人都是直接使用系统自带的Searchbar创建,然后设置.今天刚好遇到这个问题,于是我也就屁颠屁颠的去做,结果怎么做都不能显示想要的效果. 最后我想到了一招,能不能使用其他的控件呢,我就想到了TextField,最后真的可以实现. 我想以后在其他的地铁肯定也可以用到,就想到把它封

iOS 7中的导航栏和状态栏

iOS 7中默认的导航栏 在开始定制之前,我们先来看看iOS 7中默认导航栏的外观.通过Xcode用Single View Controller模板创建一个工程.然后将view controller嵌入到一个navigation controller中.如果你不想从头开始,那么也可以在这里下载到这个 示例工程.Xcode 5包含有iOS 6和iOS 7模拟器,我们可以在这两个不同的模拟器版本中运行示例程序,进行对比,如下图所示: 如上图所示,在iOS 7中的导航栏默认情况下跟状态栏是交织在一起的

定制iOS 7中的导航栏和状态栏

本文转载至 http://www.cocoachina.com/industry/20131104/7287.html 跟大多数开发者一样,我也正忙于对程序进行升级以适配iOS 7.最新的iOS 7外观上有大量的改动.从开发者的角度来看,导航栏和状态栏就发生了明显的变化.状态栏现在是半透明的了,这也 “” 阅读器 近期,跟大多数开发者一样,我也正忙于对程序进行升级以适配iOS 7.最新的iOS 7外观上有大量的改动.从开发者的角度来看,导航栏和状态栏就发生了明显的变化.状态栏现在是半透明的了,这

IOS开发中设置导航栏主题

/** * 系统在第一次使用这个类的时候调用(1个类只会调用一次) */ + (void)initialize { // 设置导航栏主题 UINavigationBar *navBar = [UINavigationBar appearance]; // 设置背景图片 NSString *bgName = nil; if (iOS7) { // 至少是iOS 7.0 bgName = @"NavBar64"; } else { // 非iOS7 bgName = @"NavB

iOS 更改状态栏、导航栏颜色的几种方法

ios上状态栏 就是指的最上面的20像素高的部分状态栏分前后两部分,要分清这两个概念,后面会用到: 前景部分:就是指的显示电池.时间等部分:背景部分:就是显示黑色或者图片的背景部分: (一)设置statusBar的[前景部分] 简单来说,就是设置显示电池电量.时间.网络部分标示的颜色, 这里只能设置两种颜色: 默认的黑色(UIStatusBarStyleDefault)白色(UIStatusBarStyleLightContent)可以设置的地方有两个:plist设置里面 和 程序代码里初始化设

[iOS类别的使用]---导航栏leftBarButtonItem图标修改

类别(Category) 修改特定的ViewController的导航栏Item图标 在项目中,遇到这样一个问题: 一个新增的VIewController1 想要push到原有的别的VIewController2中时 原有的VIewController2的导航栏左侧leftBarButtonItem图标,变成了系统自带的样式, 而且,由于项目混合使用了代码和StoryBoard开发,更增加了统一修改leftBarButtonItem的难度! 一般来说,我们会在 VIewController2 中

iOS菜鸟开发-2 导航栏主题

1.给每个子控制器添加导航栏 /** *  初始化一个子控制器 * *  @param child               需要初始化的子控制器 *  @param title               标题 *  @param imageName           未选中图标 *  @param selectedImageName   选中的图标 */ - (void)setupOneChildVC:(UIViewController *)child title:(NSString *