• 导航栏上添加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了!

    一个人,一片天,一条路,一瞬间!
  • 相关阅读:
    Esper学习之六:EPL语法(二)
    从排序开始(五) 堆排序
    hdu 4750 Count The Pairs (2013南京网络赛)
    并查集+二分-hdu-4750-Count The Pairs
    VS2010+ICE3.5运行官方demo报错----std::bad_alloc
    ServiceStack.Redis.IRedisHash.cs
    ServiceStack.Data.IEntityStore.cs
    ServiceStack.Caching.ICacheClientExtended.cs
    ServiceStack.Caching.ICachClient.cs
    ServiceStack.Caching.IRemoveByPattern.cs
  • 原文地址:https://www.cnblogs.com/zcl410/p/4603142.html
Copyright © 2020-2023  润新知