项目整理 (一)

  • 1. 自定义tabbar

    /**

     *  自定义添加控制器方法

     *

     *  @param childController 添加的子控制器对象

     *  @param title           标题

     *  @param image           图片

     *  @param selectImage     选中图片

     */

    - (void)addChildViewController:(UIViewController *)childController Title:(NSString *)title Image:(NSString *)image SelectImage:(NSString *)selectImage

    {

        //添加导航控制器

        YFNavigationController *navigation = [[YFNavigationController alloc] initWithRootViewController:childController];

        childController.title = title;

        childController.tabBarItem.image = [UIImage imageNamed:image];

        //将图片原来样子展示出来 不对其进行其他颜色渲染

        childController.tabBarItem.selectedImage = [[UIImage imageNamed:selectImage] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal];

        NSMutableDictionary *text = [NSMutableDictionary dictionary];

        text[NSForegroundColorAttributeName] = YFColor(123, 123, 123);

        NSMutableDictionary *selectText = [NSMutableDictionary dictionary];

        selectText[NSForegroundColorAttributeName] = YFMainColor;

        //设置文字颜色

        [childController.tabBarItem setTitleTextAttributes:text forState:UIControlStateNormal];

        [childController.tabBarItem setTitleTextAttributes:selectText forState:UIControlStateSelected];

        [self addChildViewController:navigation];

    }

  • 2.自定义导航条

       ① //通过背景图片来设置导航栏的外观。

          [self.navigationBar setBackgroundImage:nil forBarPosition:UIBarPositionAny barMetrics:UIBarMetricsDefault];

           //隐藏底部黑线 

           [self.navigationController.navigationBar setShadowImage:nil];

    ②.  - (void)pushViewController:(UIViewController *)viewController animated:(BOOL)animated

          {

              //操作.......    

               //写在这会有一个tabbar推出效果

               [super pushViewController:viewController animated:animated];

           } 

原文地址:https://www.cnblogs.com/yevgeni/p/5763705.html