zoukankan      html  css  js  c++  java
  • iOS-自定义导航控制器

    BasicNavigationViewController:UINavigationViwController

    /*

      隐藏导航底部线条

    */

    -(void)viewDidLoad
    {
        [super viewDidLoad];
        self.interactivePopGestureRecognizer.enabled = YES;
        
        /**
         *  隐藏导航底部的线条
         */
        [self findHairlineFromView:self.navigationBar];
    }

    - (UIImageView *)findHairlineFromView:(UIView *)view
    {
        if ([view isKindOfClass:[UIImageView class]] && view.frame.size.height <= 1.0) {
            return (UIImageView *)view;
        }
        
        for (UIView *subView in view.subviews) {
            UIImageView *imageView = [self findHairlineFromView:subView];
            imageView.hidden= YES;
            if (imageView) {
                return imageView;
            }
        }
        
        return nil;
    }

    自定义导航控制器push下一个界面的时候的返回按钮

    -(void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated
    {
        if (self.viewControllers.count>0) {
            UIButton *backBtn=[DMWidget customButtonWithFrame:CGRectMake(0,0,22, 22) toView:nil];
            [backBtn setImage:[UIImage imageNamed:@"icon_返回"] forState:UIControlStateNormal];
            [backBtn setImage:[UIImage imageNamed:@"icon_返回"] forState:UIControlStateHighlighted];
            //[backBtn setTitle:@"返回" forState:UIControlStateNormal];
           // backBtn.titleLabel.font =[UIFont systemFontOfSize:DMFontSize15];
            //[backBtn setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
            [backBtn addTarget:self action:@selector(backAction) forControlEvents:UIControlEventTouchUpInside];
            backBtn.imageEdgeInsets = UIEdgeInsetsMake(0, -5, 0, 5);
            viewController.navigationItem.leftBarButtonItem = [[UIBarButtonItem alloc] initWithCustomView:backBtn];
        }
        [super pushViewController:viewController animated:animated];

    }

    #pragma mark - ---------------- 事件 ------------------
    #pragma mark - 返回
    - (void)backAction
    {
        [self popViewControllerAnimated:YES];
    }

  • 相关阅读:
    利用Trace.WriteLine定位难以重现的问题
    技术经验分享
    辞职小记
    残阳如血--读《忆秦娥·娄山关》 有感
    一个简单多线程等待窗口
    [转]Control的Invoke和BeginInvoke
    elk 改为使用 ik 中文分词器
    在 jenkins 的 pipeline 中使用分支参数
    centos8 下删除网桥 docker0
    vscode 实现组件之间的跳转
  • 原文地址:https://www.cnblogs.com/linxiu-0925/p/5411451.html
Copyright © 2011-2022 走看看