美文网首页iOS学习
NavigationBar相关

NavigationBar相关

作者: 你瞅誰 | 来源:发表于2015-12-10 11:00 被阅读408次

    如何在navigationBar加个Left,这些控件本身只能在固定位置上

    先上代码
    UIImage* backImage = [UIImage imageNamed:@"nav_order_more"];         
         CGRect backframe = CGRectMake(0,0,30,8);
         UIButton* backButton= [[UIButton alloc] initWithFrame:backframe]; 
         [backButton setBackgroundImage:backImage forState:UIControlStateNormal];
        backButton.titleLabel.font=[UIFont systemFontOfSize:13];
        [backButton addTarget:self action:@selector(doClickBackAction) forControlEvents:UIControlEventTouchUpInside];
    
        UIBarButtonItem* setRightBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:backButton];     
        self.navigationItem.rightBarButtonItem = setRightBarButtonItem;
    
    
    • UIImage -> UIButton -> UIBarButtonItem -> self.navigationItem
      • 通过initWithCustomView方法,实现UIButton -> UIBarButtonItem

    怎么在navigationBar加Center,这些控件本身只能在固定位置上

    JRSegmentControl *segment = [[JRSegmentControl alloc] 
       initWithFrame:CGRectMake(0, 0, self.itemWidth *  
       self.viewControllers.count, self.itemHeight) titles:self.titles]; 
       segment.backgroundColor = self.segmentBgColor; 
       segment.indicatorViewColor = self.indicatorViewColor; 
       segment.delegate = self; 
       self.navigationItem.titleView = segment;
    
    
    • JRSegmentControl -> self.navigationItem.titleView
      • 通过赋值的方式 self.navigationItem.titleView = segment;

    如何在navigationBar中的任意位置加控件

    UISegmentedControl * contorl = [[UISegmentedControl alloc]  
       initWithItems:@[@"全部",@"待收货",@"待评价"]]; 
       contorl.frame = CGRectMake([UIScreen   
       mainScreen].bounds.size.width/2-150/2, 2, 150, 40);
       [contorl addTarget:self action:@selector(clickSegment:) 
       forControlEvents:UIControlEventValueChanged]; 
       //默认选择为第一个 
       contorl.selectedSegmentIndex = 0; 
       [self.navigationController.navigationBar addSubview:contorl];
    
    
    • UISegmentedControl -> self.navigationController.navigationBar
    • 通过addSubView的方式
      • [self.navigationController.navigationBar addSubview:cont

    总结:

    • 导航栏上只能加UIBarButton,item,不可加控件.

    相关文章

      网友评论

        本文标题:NavigationBar相关

        本文链接:https://www.haomeiwen.com/subject/fhcyhttx.html