IOS开发之功能模块--自定义UITabBarViewController的备用代码

前言:因为常用,所以我就备份到这里,然后如果需要修改,可以根据需求进行相关的更改。

 1 @implementation YMTabBarController
 2  3 - (void)viewDidLoad {
 4  [super viewDidLoad];
 5 /**** 初始化一些设置 ****/  6  [self setUp];
 7  8 /**** 添加子控制器 ****/  9  [self addChildViewControllers];
10 }
11 - (void)setUp{
12 13 }
14 15 #pragma mark - 在load方法里全局设置所有UITabBarItem的文字属性
16 // hy:配置全局设置属性 17 + (void)load
18 {
19 // UITabBarItem *item = [UITabBarItem appearanceWhenContainedIn:self, nil];
20 // 普通状态下的文字属性
21 // NSMutableDictionary *normalAttrs = [NSMutableDictionary dictionary];
22 // normalAttrs[NSFontAttributeName] = [UIFont systemFontOfSize:12];
23 // normalAttrs[NSForegroundColorAttributeName] = [UIColor colorWithHexString:@"#333333"];
24 // [item setTitleTextAttributes:normalAttrs forState:UIControlStateNormal];
25 // 选中状态下的文字属性
26 // NSMutableDictionary *selectedAttrs = [NSMutableDictionary dictionary];
27 // selectedAttrs[NSFontAttributeName] = [UIFont systemFontOfSize:12];
28 // selectedAttrs[NSForegroundColorAttributeName] = [UIColor colorWithHexString:@"#23ac3a"];
29 // [item setTitleTextAttributes:selectedAttrs forState:UIControlStateSelected]; 30 }
31 32 #pragma mark - 添加 导航控制器+子控制器
33 - (void)addChildViewControllers{
34 // 首页 35 [self setupOneChildViewController:[[MainViewController alloc] init] title:@"首页" image:@"" selectedImage:@""];
36 37 // 我的 38 [self setupOneChildViewController:[[MineViewController alloc] init] title:@"我的" image:@"" selectedImage:@""];
39 }
40 41 #pragma mark - 私有方法
42 /**
43  * 初始化一个子控制器
44  *
45  * @param vc 子控制器
46  * @param title 标题
47  * @param image 图标
48  * @param selectedImage 选中的图标
49 */ 50 - (void)setupOneChildViewController:(UIViewController *)vc title:(NSString *)title image:(NSString *)image selectedImage:(NSString *)selectedImage
51 {
52 YMNavigationController *nc = [[YMNavigationController alloc] initWithRootViewController:vc];
53 // 设置导航控制器的标题
54 // vc.navigationItem.title = title;
55 // 设置tabBarItem的表诶 56 nc.tabBarItem.title = title;
57 if (image.length) { // 图片名有具体值 58 nc.tabBarItem.image = [UIImage imageRenderingModeImageNamed:image];
59 nc.tabBarItem.selectedImage = [UIImage imageRenderingModeImageNamed:selectedImage];
60  }
61  [self addChildViewController:nc];
62 }
63 64 @end

时间: 2025-01-24 22:49:09

IOS开发之功能模块--自定义UITabBarViewController的备用代码的相关文章

IOS开发之功能模块--自定义导航控制器类常用自定义的代码

前言:本文篇幅不多,但是涉及到的内容却是开发中常用的. 涉及的内容: 1.统一设置导航控制器子控制器的返回按钮. 2.因为修改了系统的返回按钮,所以还需要设置手势事件. 3.隐藏底部的工具条. 这里直接给出.m的实现文件,.h文件不需要,因为没有属性,没有自定义公开的方法. 1 #import "YMNavigationController.h" 2 3 @interface YMNavigationController () <UIGestureRecognizerDelega

iOS之小功能模块--彩虹动画进度条学习和自主封装改进

前言: 首先展示一下这个iOS小示例的彩色进度条动画效果: 阅读本文先说说好处:对于基础不好的读者,可以直接阅读文末尾的"如何使用彩虹动画进度条"章节,然后将我封装好的这个功能模块类用到你的工程项目中即可. 这个效果的示例是老外Nick Jensen在2013年写的一个作品:使用CAGradientLayer的动画进度条View. 本人阅读了老外的源码之后,觉得老外这个进度条的效果很不错,但是觉得他写的代码有待改进. 小贴士:读者可以直接将老外的源码下载下来,跑一下,然后对比本人写的博

iOS开发之聊天模块--内容保存逻辑实现

需求详解: 在实际开发中,有可能是在后期优化的时候,会有这么需要优化的需求:聊天输入框保存之前输入的文本,提高用户的良好体验. 在聊天模块中,用户可能会在输入框输入若干字符,但是没有点击发送就点击退出聊天,或者要点击用户头像确认用户的信息,或者比如需要向好友发送另一个好 友的ID不得不暂时退出当前好友聊天界面跳转找到别的界面找ID,然而当前聊天输入框也已经输入好了若干字符,用户当然不希望退出之后就删除之前输入好的 文字.所以这里就需要暂时保存用户输入好的但是没有发送出去的字符串. 但是,还需要满

iOS开发UI篇—Quartz2D(自定义UIImageView控件)

一.实现思路 Quartz2D最大的用途在于自定义View(自定义UI控件),当系统的View不能满足我们使用需求的时候,自定义View. 使用Quartz2D自定义View,可以从模仿系统的ImageView的使用开始. 需求驱动开发:模仿系统的imageview的使用过程 1.创建 2.设置图片 3.设置frame 4.把创建的自定义的view添加到界面上(在自定义的View中,需要一个image属性接收image图片参数->5). 5.添加一个image属性(接下来,拿到image之后,应

iOS开发中如何实现图片转PDF

Quartz 2D概述 Quartz 2D是Core Grapgics下的2D绘图引擎,适用于iOS和Mac OS X. 它具有强大的绘图功能,提供视角效果渲染,反锯齿渲染,颜色管理,绘制PDF等等. 开发者无需考虑不同设备不同分别率的显示效果,因为这一切适配操作Quartz 全都自己包了. 具体Quartz可以做些什么,下图给出了最佳答案: 图片转PDF的工具类 利用Quartz 2D将图片数据转换成图片不失真的PDF,方法我已经封装好: (PDF部分属性未列出,如果有额外需要,需要另行提出赋

iOS开发之新浪微博山寨版代码优化

之前发表过一篇博客"IOS开发之新浪围脖",在编写代码的时候太偏重功能的实现了,写完基本功能后看着代码有些别扭,特别是用到的四种cell的类,重复代码有点多,所以今天花点时间把代码重构一下.为了减少代码的重复编写把cell中相同的部分抽象成父类,然后继承.不过也是结合着storyboard做的.在优化时转发的View和评论的View相似,于是就做了个重用.在原来的代码上就把cell的代码进行了重写,所以本篇作为补充,关键代码还得看之前的博客. 1.第一种cell,只有微博内容,没有图片

分享一些iOS开发实用的小技巧_IOS

1.设置navigationbar title颜色 UIColor *whiteColor = [UIColor whiteColor]; NSDictionary *dic = [NSDictionary dictionaryWithObject:whiteColor forKey:NSForegroundColorAttributeName]; [self.navigationController.navigationBar setTitleTextAttributes:dic]; 2.获取

iOS开发定时器的三种方法分享_IOS

前言 在开发中,很多时候我们需要用到定时器实时刷新某个数值.这个时候我们就需要用到定时器,这里,我为大家推荐三种方法,分别是:NSTimer.CADisplayLink.GCD.接下来我就一一介绍它们的用法.希望能帮到大家. 一.NSTimer(一般用于定时的更新一些非界面上的数据) 1. 创建方法 NSTimer *timer = [NSTimer scheduledTimerWithTimeInterval:1.0 target:self selector:@selector(action:

IOS开发实现录音功能_IOS

导入框架: #import <AVFoundation/AVFoundation.h> 声明全局变量: @interface ViewController ()<AVAudioRecorderDelegate> { AVAudioRecorder *audioRecorder; } @end 在ViewDidLoad中: UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; button.frame = C