导航栏上添加searchBar

导航栏有个titleView的属性,

@property(nonatomic,retain) UIView          *titleView;

因此可以写个类,继承自UIView,然后再view上添加需要的控件.

在写一句:

self.navigationItem.titleView=search;

就可以达到在导航栏上添加searchBar了.

具体代码如下:

新建类:SearchBarView.m

- (instancetype)initWithFrame:(CGRect)frame

{

self = [super initWithFrame:frame];

if (self) {

UISearchBar *searchBar=[[UISearchBar alloc] initWithFrame:CGRectMake(0, 0, frame.size.width-50, 30)];

[searchBar setSearchBarStyle:UISearchBarStyleMinimal];

[searchBar setPlaceholder:@"大家都在搜:曾轶可黑天鹅"];

[self addSubview:searchBar];

UIButton *button=[UIButton buttonWithType:UIButtonTypeCustom];

button.frame=CGRectMake(searchBar.frame.size.width, 0, 50, 30);

[button setImage:[UIImage imageNamed:@"iconfont-record.png"] forState:UIControlStateNormal];

[self addSubview:button];

[button addTarget:self action:@selector(speechSend) forControlEvents:UIControlEventTouchUpInside];

}

return self;

}

在控制器的viewDidLoad方法里

- (void)viewDidLoad {

[super viewDidLoad];

SearchBarView *search=[[SearchBarView alloc] initWithFrame:CGRectMake(0, 0, WIDTH, 30)];

self.navigationItem.titleView=search;

}

ok了!

时间: 2024-11-04 14:57:49

导航栏上添加searchBar的相关文章

导航栏上字体与图标的颜色设置

//导航栏上背景色  self.navigationController.navigationBar.barTintColor = RGB(117, 178, 240); //导航栏上自己添加的控件的颜色     self.navigationController.navigationBar.tintColor = [UIColor whiteColor]; //导航栏上字体的颜色     self.navigationController.navigationBar.titleTextAttr

iOS 设置导航栏的颜色和导航栏上文字的颜色

#import <UIKit/UIKit.h> @interface AppDelegate : UIResponder <UIApplicationDelegate> @property (strong, nonatomic) UIWindow *window; @end #import "AppDelegate.h" #import "KeyViewController.h" @interface AppDelegate () @end

Android ActionBar完全解析,使用官方推荐的最佳导航栏(上)

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/18234477 本篇文章主要内容来自于Android Doc,我翻译之后又做了些加工,英文好的朋友也可以直接去读原文. http://developer.android.com/guide/topics/ui/actionbar.html Action Bar是一种新増的导航栏功能,在Android 3.0之后加入到系统的API当中,它标识了用户当前操作界面的位置,并提供了额外的用

【转】Android ActionBar完全解析,使用官方推荐的最佳导航栏(上)

转载请注明出处:http://blog.csdn.net/guolin_blog/article/details/18234477 本篇文章主要内容来自于Android Doc,我翻译之后又做了些加工,英文好的朋友也可以直接去读原文. http://developer.android.com/guide/topics/ui/actionbar.html Action Bar是一种新増的导航栏功能,在Android 3.0之后加入到系统的API当中,它标识了用户当前操作界面的位置,并提供了额外的用

IOS之导航栏中添加UITextView控件bug

今天遇到一个奇怪的问题,如下: 在导航栏控制器的rootviewcontroller中,添加了一个UITextView控件,代码如下: - (void)viewDidLoad { [super viewDidLoad]; self.title =@"Test"; UITextView *textview = [[UITextViewalloc]init]; textview.frame = CGRectMake(10, 100, 300, 200); textview.backgrou

iOS在导航栏上居中显示分段控件(UISegmentedControl)

UISegmentedControl *segmentedControl = [[UISegmentedControl alloc] initWithItems:nil]; segmentedControl.tintColor = [UIColor orangeColor]; //渲染色彩 [segmentedControl insertSegmentWithTitle:@"专家介绍"atIndex:0 animated:NO]; [segmentedControl insertSeg

设置导航栏上面的内容

// 设置左边的返回按钮 viewController.navigationItem.leftBarButtonItem = [UIBarButtonItem itemWithTarget:self action:@selector(back) image:@"navigationbar_back" highImage:@"navigationbar_back_highlighted"]; // 设置右边的更多按钮 viewController.navigation

简单CSS技巧实现的Logo动画效果(很像导航栏上经常运用的效果,但有差别)

之前不少人提过说要实现像阿里百秀Logo那样的动画效果,为了满足广大用户的需求,这里就简单做个演示.东西相对较简单,所以不要认为你搞不定它. 下面是演示的案例代码 1 <style> 2 .imlogo{ 3 display:block; 4 width:160px; 5 height:80px; 6 background:#FF5E52 url(logo2.png) center 22px no-repeat; /* 写法一般是 先水平位置 ,然后垂直位置*/ 7 -webkit-trans

修改导航栏上返回按钮上的字,例如把back修改为返回

注意:这个需要在跳转之前到视图控制器中写,而不是在跳转之后到控制器中写 UIBarButtonItem *backIetm = [[UIBarButtonItem alloc] init]; backIetm.title = @"返回"; self.navigationItem.backBarButtonItem = backIetm;