美文网首页ios实用开发技巧
项目版本迭代总结 --TabBar

项目版本迭代总结 --TabBar

作者: yunFeng | 来源:发表于2016-09-19 17:29 被阅读288次

项目做了有大半年了 一直都是赶进度 一直到现在才空点时间 由于产品啥都想抄袭别人的 所以需求就来了 头条上 网易严选的 淘宝的 京东的 。。。

真的 开发和产品就是上个世纪的战争延续到现在  每次都想拿把刀过去 想过开发进度没  临时还改需求 哈哈 废话多了 唠叨归唠叨 还是要做的  要不到老大那 你就是不行 男人不能不行 所以。。。

第一、关于 tabBar的一些自定义的 

用的还是系统的 tabBar  不过在系统的基础上做了一些修改 要修改 badgeValue 值的颜色 第二个是自定义 中间的一个突出按钮  就是在中间有一个按钮是凸起的 要有弧度 可能第三方的也有很多我也找了一个 但是项目开始就自己写了一个基类 所以就不想用第三方了 就自己尝试这能否在原生的基础上去添加目前的需求 终于通过 Google 和自己的一些测试  最后成功了 虽然有些丑 😁  但是功能出来了 所以其他的后续再优化了 这边也只是说下思路 最后给大家一个 demo 做参考 如果大家有更好的想法 也欢迎拍砖 指教 有问题 还是 Google 加http://stackoverflow.com/ 基本就可以满足了 不过要自备梯子了 

修改 tabBar badgeValue 显示的色值

修改 badgeValue 色值参考链接

- (void)changeTabBarbadgeValueColorWithTabBar:(UITabBar*)tabBar

{

[tabBar.subviewsenumerateObjectsUsingBlock:^(__kindofUIView*_Nonnullobj,NSUIntegeridx,BOOL*_Nonnullstop) {

//_UIBadgeViewUITabBarButtonLabel

[obj.subviewsenumerateObjectsUsingBlock:^(__kindofUIView*_Nonnullobj,NSUIntegeridx,BOOL*_Nonnullstop) {

//_UIBadgeView

if([objisKindOfClass:NSClassFromString(@"_UIBadgeView")]) {

//_UIBadgeBackgroundUILabel

[obj.subviewsenumerateObjectsUsingBlock:^(__kindofUIView*_Nonnullobj,NSUIntegeridx,BOOL*_Nonnullstop) {

if([objisKindOfClass:NSClassFromString(@"_UIBadgeBackground")]) {

[objsetValue:[UIImageimageNamed:@""]forKey:@"image"];

CGRectobjFrame = obj.frame;

IBALog(@"%@",NSStringFromCGRect(obj.frame));

customView.layer.cornerRadius=9.0f;

customView.layer.masksToBounds=YES;

customView.backgroundColor=RGB(193.0f,28.0f,28.0f);

}

}];

}

}];

}];

}

添加 tabBar中间的凸起图片 也是在原生上添加的 这个也是参考第三方的 然后自己去写的

自定义 tabBar参考链接

- (void)middleButtonSettingWithTabBar:(UITabBar*)myTabBar viewController:(NSArray*)tempArr middleButtonHidden:(BOOL)hidden

{

_middleButton= [UIButtonbuttonWithType:UIButtonTypeCustom];

_middleButton.backgroundColor= [UIColorwhiteColor];

_middleButton.layer.borderColor= [UIColorlightGrayColor].CGColor;

_middleButton.layer.borderWidth=0.0f;

[_middleButtonaddTarget:selfaction:@selector(middleClick)forControlEvents:UIControlEventTouchUpInside];

_middleButton.frame=CGRectMake(0,0,50,50);

_middleButton.center=CGPointMake(self.view.center.x,10);

[_middleButtonsetImage:[UIImageimageNamed:@"tabBar_shopOwnerNormal"]forState:UIControlStateNormal];

[_middleButtonsetImage:[UIImageimageNamed:@"tabBar_shopOwnerSelected"]forState:UIControlStateSelected];

_middleButton.layer.cornerRadius=25;

self.viewControllers= tempArr;

if(hidden) {

[myTabBar.subviewsenumerateObjectsUsingBlock:^(__kindofUIView*_Nonnullobj,NSUIntegeridx,BOOL*_Nonnullstop) {

if([objisKindOfClass:[UIButtonclass]]) {

[objremoveFromSuperview];

}

if([objisKindOfClass:[UIImageViewclass]]) {

if(obj.tag==100) {

[objremoveFromSuperview];

}

}

}];

myTabBar.shadowImage= [UIImageimageNamed:@"straightLine"];

[myTabBarsetBackgroundImage:nil];

}else{

myTabBar.shadowImage= [UIImagenew];

[myTabBarsetBackgroundImage:[UIImagenew]];

UIImageView*bgImage = [[UIImageViewalloc]initWithImage:[UIImageimageNamed:@"line_bg"]];

bgImage.tag=100;

bgImage.frame=CGRectMake(0, -15,CGRectGetWidth(Bounds),CGRectGetHeight(myTabBar.frame));

[myTabBaraddSubview:bgImage];

[myTabBarinsertSubview:bgImageatIndex:0];

[myTabBaraddSubview:_middleButton];

[myTabBar.superviewbringSubviewToFront:_middleButton];

}

myTabBar.backgroundColor= [UIColorwhiteColor];

[selfsetValue:myTabBarforKey:@"tabBar"];

}

以上2个是这次版本迭代遇到的2个比较蛋疼的需求 其他的项目总结 等十一放假再来一篇单独介绍下  希望大家多多拍砖

相关文章

  • 项目版本迭代总结 --TabBar

    项目做了有大半年了 一直都是赶进度 一直到现在才空点时间 由于产品啥都想抄袭别人的 所以需求就来了 头条上 网易严...

  • Flutter使用TabBar问题小结

    此章总结一下在Flutter项目中,使用TabBar遇到的一些问题。 TabBar取消下划线 TabBar自带下划...

  • react-native 踩坑和一些tips

    RN一个完整的项目做下来并迭代好几个版本了,一直没时间总结,这里总结一下。 一、问题踩坑 1、拿到项目先 yarn...

  • 针对上个项目总结的可优化点

    项目经历了几个版本的开发和迭代,总结出了项目的一些优化的点。由于开发时间比较紧张,没有实施到当前项目。下面罗列一下...

  • 微信小程序版本自动更新

    公司的小程序项目上线, 后期还会有小型的版本迭代. 为了让用户能在我们进行版本迭代后及时使用最新版本的功能. 做了...

  • 小程序版本自动更新

    公司的小程序项目上线, 后期还会有小型的版本迭代. 为了让用户能在我们进行版本迭代后及时使用最新版本的功能. 做了...

  • 微信小程序版本自动更新

    公司的小程序项目上线, 后期还会有小型的版本迭代. 为了让用户能在我们进行版本迭代后及时使用最新版本的功能. 做了...

  • 微信小程序版本自动更新的方法

    微信小程序版本自动更新的方法公司的小程序项目上线, 后期还会有小型的版本迭代. 为了让用户能在我们进行版本迭代后及...

  • 币乎新版本体验:有惊有喜

    6月13日看到币乎公告 | 版本1.1.2迭代通知,我们即将迎来更多项目方带来的抽奖惊喜! 币乎版本迭代通知的主要...

  • 产品的迭代-缓慢的挣扎

    今天的会议总结了这半年迭代的版本及其数据间的变化。 会议气氛略沉重,从去年10月至今 ,版本迭代有十次; 为改进a...

网友评论

    本文标题:项目版本迭代总结 --TabBar

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