下载本文档
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
第iOS利用余弦函数实现卡片浏览工具_scrollView=[[UIScrollViewalloc]initWithFrame:self.bounds];
_scrollView.delegate=self;
_scrollView.showsHorizontalScrollIndicator=false;
[selfaddSubview:_scrollView];
//初始化其他参数
_cards=[[NSMutableArrayalloc]init];
_currentIndex=0;
#pragmamark-
#pragmamark视图Frame配置
//卡片宽度
-(float)cardWidth
returnviewScale*self.bounds.size.width;
//卡片间隔
-(float)margin
return(self.bounds.size.width-[selfcardWidth])/4;
//卡片起始位置
-(float)startX
return(self.bounds.size.width-[selfcardWidth])/2.0f;
#pragmamark-
#pragmamark配置轮播图片
-(void)setCardNumber:(NSInteger)cardNumber
_cardNumber=cardNumber;
//初始化各个播放器位置
for(NSIntegeri=0;icardNumber;i++){
//第一步在ScrollView上添加卡片
floatviewX=[selfstartX]+i*([selfcardWidth]+[selfmargin]);
Card*card=[[Cardalloc]initWithFrame:CGRectMake(viewX,0,[selfcardWidth],self.bounds.size.height)];
card.layer.borderWidth=1.0f;
card.index=i;
[_scrollViewaddSubview:card];
[_cardsaddObject:card];
[_scrollViewsetContentSize:CGSizeMake(card.frame.origin.x+[selfcardWidth]+2*[selfmargin],0)];
//更新卡片的大小
[selfupdateCardTransform];
#pragmamark-
#pragmamarkScrollView代理方法
//开始拖动时保存起始位置
-(void)scrollViewWillBeginDragging:(UIScrollView*)scrollView
_startPointX=scrollView.contentOffset.x;
//当ScrollView拖动时变换每个view的大小,并保证居中屏幕的view高度最高
-(void)scrollViewDidScroll:(UIScrollView*)scrollView
[selfupdateCardTransform];
//滚动结束,自动回弹到居中卡片
-(void)scrollViewDidEndDragging:(UIScrollView*)scrollViewwillDecelerate:(BOOL)decelerate
//滚动到视图中间位置
dispatch_async(dispatch_get_main_queue(),^{
[selfscrollToCurrentCard];
//卡片自动居中
-(void)scrollToCurrentCard
_endPointX=_scrollView.contentOffset.x;
//设置滚动最小生效范围,滚动超过scrollMiniDistance即视为有切换卡片的意向
floatscrollMiniDistance=self.bounds.size.width/30.0f;
if(_startPointX-_endPointXscrollMiniDistance){
NSLog(@向右滑动屏幕
if(_currentIndex!=0){
_currentIndex-=1;
}elseif(_endPointX-_startPointXscrollMiniDistance)
NSLog(@向左滑动屏幕
if(_currentIndex!=_cards.count-1){
_currentIndex+=1;
floatviewX=[selfstartX]+_currentIndex*([selfcardWidth]+[selfmar
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 售后服务单填写模板快速响应与问题解决
- 人力资源招聘与培训计划制定工具包
- 合作项目开发进度延迟的说明函5篇范本
- 个人数据信息正确使用防护承诺书(4篇)
- 知识管理知识库构建模板
- 宁波地区宁海县2026届初三下学期期中考试英语试题(A)含解析
- 2026年江西专版市级名校初三下期第二次周考英语试题含解析
- 城市绿化养护管理规范流程指南
- 扬州市2026届初三下-期末联考英语试题试卷含解析
- 税务合规性保证承诺函(7篇)
- 2025年下半年中学教师资格证《教育知识与能力》真题及参考答案
- 消防设备维保月度计划表模板及范例
- 2026年辽宁医药职业学院单招职业技能考试题库及参考答案详解1套
- 北京旅游课件
- 高压电工证考试题库及答案(完整版)
- 2025年及未来5年中国吊舱式推进器市场全面调研及行业投资潜力预测报告
- 2025工业机器人密度提升及制造业转型需求与本土化战略研究
- DBT29-6-2010 天津市建设项目配建停车场(库)标准
- 2025年贵州省煤炭市场调查报告
- 2025年消防员招录心理测试试题及答案
- 2025年低空经济「电力巡检」无人机应用场景与市场前景报告
评论
0/150
提交评论