zoukankan      html  css  js  c++  java
  • 导航栏上添加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了!

    一个人,一片天,一条路,一瞬间!
  • 相关阅读:
    Privacy Policy
    privacy
    将一个无法一次读入内存的大文件排序
    java实现二叉树的非递归遍历
    java静态方法同步问题
    关于java静态方法继承问题
    Android 代码写布局
    Android自定义ImageView实现手势放大图片的控件,无需依赖任何第三方。
    Gradle版本更换问题
    Android的AlertDialog实现圆角边框
  • 原文地址:https://www.cnblogs.com/zcl410/p/4603142.html
Copyright © 2011-2022 走看看