啊啊啊,先让我膜拜一下小马哥
好了,看完小马哥写微博项目的视频不禁的想静静了,太特么牛逼了。。。
学到的东西
- 封装的思想(我觉得我得多看几次,一次学不深刻)
- 全局观(封装一个东西是为了以后更好的来使用)
- 掌控力(对整体架构的认知)
- 还有什么....
按照惯例摘抄部分代码留作学习
市面上主流的APP都是那种下面4个tabbar的,就这种而言我们需要创建UITabBarController来管理这个控制器的时候创建子控制器,来实现见面的搭建,这个时候我们就要在UITabBarController里面写大量的创建子控制器的代码,这里我们可以封装一个创建简易好用清晰明了的方法,代码如下:
- 初始化一个子控制器
- @param childVC 需要初始化的子控制器
- @param title 标题
- @param imageName 未选中的图片
- @param selectedImageName 选中的图片
-(void)setupViewController:(UIViewController *)childVC title:(NSString *)title ImageName:(NSString *)imageName selectedImageName:(NSString *)selectedImageName{ childVC.title = title; childVC.tabBarItem.image = [UIImage imageNamed:imageName]; childVC.tabBarItem.selectedImage = [[UIImage imageNamed:selectedImageName] imageWithRenderingMode:UIImageRenderingModeAlwaysOriginal]; UINavigationController *navc = [[UINavigationController alloc] initWithRootViewController:childVC]; [self addChildViewController:navc]; }
然后我们就可以在添加子控制器的时候直接调用这个方法。
-(void)addChildViewController{
HomeViewController *homeVC = [[HomeViewController alloc] init];
[self setupViewController:homeVC title:@"首页" ImageName:@"tabbar_home" selectedImageName:@"tabbar_home_selected"];
MessageViewController *messageVC = [[MessageViewController alloc] init];
[self setupViewController:messageVC title:@"消息" ImageName:@"tabbar_message_center" selectedImageName:@"tabbar_message_center_selected"];
DiscovewViewController *discoverVC = [[DiscovewViewController alloc] init];
[self setupViewController:discoverVC title:@"发现" ImageName:@"tabbar_discover" selectedImageName:@"tabbar_discover_selected"];
MeViewController *meVC = [[MeViewController alloc] init];
[self setupViewController:meVC title:@"我" ImageName:@"tabbar_profile" selectedImageName:@"tabbar_profile_selected"];
}
看的有点多,先写这么多,还有两次对Button的封装(很重要,必须搞懂),让我消化一下先~~~
网友评论