iOS-仿淘宝navigationBar双波纹(OC版本和Swift版本)
2017-01-07 15:44
405 查看
前言
上个月淘宝更新的APP的navigationBar上面有两个大波浪,看着很好玩,很多APP开始模仿,包括我们公司的APP也是,然后我就写了一个播放的View,方便各种环境下使用;1.navigationBar
- (void)viewDidLoad { [super viewDidLoad]; // Do any additional setup after loading the view, typically from a nib. self.view.backgroundColor = [UIColor whiteColor]; [self.navigationController.navigationBar addSubview:self.headerView]; [self.navigationController.navigationBar sendSubviewToBack:self.headerView]; } - (ZFJWaveView *)headerView{ if (!_headerView) { _headerView = [[ZFJWaveView alloc] initWithFrame:CGRectMake(0, -20, self.view.frame.size.width, 64)]; _headerView.backgroundColor = [UIColor colorWithRed:1.000 green:0.318 blue:0.129 alpha:1.00]; _headerView.waveBlock = ^(CGFloat currentY){ }; [_headerView startWaveAnimation]; } return _headerView; }
Swift调用代码
self.view.backgroundColor = UIColor.white
headerView = ZFJWaveView(frame: CGRect(x: CGFloat(0), y: CGFloat(-20), width: CGFloat(self.view.frame.size.width), height: CGFloat(64)))
headerView.backgroundColor = UIColor(red: CGFloat(1.000), green: CGFloat(0.318), blue: CGFloat(0.129), alpha: CGFloat(1.00))
headerView.waveBlock = {(_ currentY: CGFloat) -> Void in
//print(currentY)
}
headerView.startWaveAnimation()
self.navigationController!.navigationBar.addSubview(headerView)
self.navigationController!.navigationBar.sendSubview(toBack: headerView)
效果如下:
2.其他(UITableview头部)
- (UITableView *)tableView{ if (!_tableView) { _tableView = [[UITableView alloc] initWithFrame:self.view.frame style:UITableViewStyleGrouped]; _tableView.dataSource = self; _tableView.delegate = self; _tableView.backgroundColor = KBackgroundColor; _tableView.separatorStyle = UITableViewCellSeparatorStyleNone; _tableView.separatorColor = [UIColor clearColor]; _tableView.tableHeaderView = self.headerView; } return _tableView; } - (ZFJWaveView *)headerView{ if (!_headerView) { _headerView = [[ZFJWaveView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 265)]; __weak typeof(self)weakSelf = self; _headerView.titleName = @"小荧星培训机构"; _headerView.detailName = @"机构ID:134611"; _headerView.btnTittleArr = @[@"主页",@"比赛"]; _headerView.selectType = ^(NSInteger selectIndex,NSString *selectIndexTitle){ weakSelf.selectType = selectIndex; }; [_headerView startWaveAnimation]; [_headerView addSubview:weakSelf.headViewBackBtn]; } return _headerView; }效果如下:
3.DEMO下载
OC版本点击下载OC版本:http://download.csdn.net/detail/u014220518/9731412
Swift版本点击下载
Swift版本:http://download.csdn.net/detail/u014220518/9732721
相关文章推荐
- iOS 利用autolayout自定义行高仿写朋友圈界面,OC与Swift版本
- iOS --- 为UIButton添加setBackgroundColor:forState:方法(包含OC和Swift两个版本)
- iOS中 切圆角,任意几个角(带边框,不带边框)__OC和Swift版本 韩俊强的博客
- iOS-Swift版本自定义CStextView的实现
- iOS - UICollectionView 自定义布局之风火轮[译] (原版为swift,我这里的实现改为OC)
- iOS基础网络教程-Swift版本: 1.基础网络概括
- iOS基础网络教程-Swift版本: 2.使用UIWebView请求数据
- [IOS swift对比oc]
- iOS swift中导入OC第三方
- IOS-笔记5 (swift和OC,View大小和位置)
- [iOS]#Swift#OC+Swift混编
- 【转】IOS --- OC与Swift混编
- ios学习笔记图片+图片解释(c语言 oc语言 ios控件 ios小项目 ios小功能 swift都有而且笔记完整喔)
- ios面向切面AOP(下) swift版本
- Swift工程下使用OC版本的MKNetworkKit
- iOS开发 项目中Swift与OC混编
- [iOS开发]使用Swift检测系统版本信息
- iOS: 将OC的NSMutableArray转为Swift的Array
- iOS多线程简介 - Swift版本 2.多线程开发 -- NSOperation的简单使用
- iOS开发笔记--OC工程中调用不了Swift代码