登录 立即注册
金钱:

Code4App-iOS开发-iOS 开源代码库-iOS代码实例搜索-iOS特效示例-iOS代码例子下载-Code4App.com

iOS滑动卡片动画

[复制链接]
来自: leicunjie 分类: iOS精品源码 上传时间: 2016-5-28 00:36:40
Tag:卡片式 Card 卡片 探探 翻页效果

项目介绍:

文:leicunjie


iOS 卡片翻页滑动效果,实现了卡片式翻页布局,类似探探等APP的效果。


实现代码:
[Objective-C] 查看源文件 复制代码
//创建容器
- (void)createCardViewWithDataSource:(NSArray *)array {
    self.leftWidth = 10.0;
    
    CCAnimationContainerView * containerView = [[CCAnimationContainerView alloc] initWithFrame:CGRectMake(10, 100, self.view.frame.size.width - 20, 300)];
    self.cardContainerView = containerView;
    self.cardContainerView.totalCount = array.count;
    self.cardContainerView.dataSourceArray = array;
    
    self.cardContainerView.cardRefreshBlock = ^(){
        
    };
    self.cardContainerView.cardPushBlock = ^(){
        
    };
    [self.view addSubview:self.cardContainerView];
    [self setAnimationSubviews];
}

//设置容器子视图
-(void)setAnimationSubviews{
    self.cardContainerView.subViewArray = [NSMutableArray array];
    NSInteger cardCount = (self.dataArray.count >= 4)?4:self.dataArray.count;
    for(int i = 0;i < cardCount;i++){
        NSArray* nibView =  [[NSBundle mainBundle] loadNibNamed:@"CardView" owner:nil options:nil];
        CardView *cardView = [nibView lastObject];
        cardView.frame = CGRectMake(self.leftWidth, 0, CGRectGetWidth(self.cardContainerView.frame) - 2* self.leftWidth, CGRectGetHeight(self.cardContainerView.frame));
        [cardView setupDataSource:self.dataArray[i] andPage:i];
        
        cardView.tag = 100 + i;
        if(i == 1){
            cardView.frame = CGRectMake(10 + self.leftWidth, 10, CGRectGetWidth(self.cardContainerView.frame) - 2 * self.leftWidth - 20, CGRectGetHeight(self.cardContainerView.frame));
        }
        if(i >= 2){
            cardView.frame = CGRectMake(20 + self.leftWidth, 20, CGRectGetWidth(self.cardContainerView.frame) -2 * self.leftWidth - 40, CGRectGetHeight(self.cardContainerView.frame));
        }
        [self.cardContainerView.subViewArray addObject:cardView];
        [self.cardContainerView addSubview:cardView];
        [self.cardContainerView sendSubviewToBack:cardView];
        
    }
    [self.cardContainerView addPanGesture];
}

- (NSArray *)dataArray {
    if(!_dataArray) {
        _dataArray = [NSMutableArray array];
        for (int i = 1;i < 8;i++) {
            NSString *title = [NSString stringWithFormat:@"这是标题%d",i];
            NSString *content = [NSString stringWithFormat:@"这是内容%d",i];
            NSString *image = [NSString stringWithFormat:@"%d.jpg",i];
            NSDictionary *dic = [NSDictionary dictionaryWithObjectsAndKeys:title,@"title",content,@"content",image,@"image", nil];
            [_dataArray addObject:dic];
        }
    }
    return _dataArray;
}


DEMO下载:

相关源码推荐:

我来说两句
*滑动验证:
所有评论(194)
王颖博 2016-5-30 13:46:59
感谢分享,Code4App有你更精彩
回复
kriscog900114 2016-5-30 14:45:02
为什么被屏蔽了呀
回复
steer 2016-5-30 15:24:31
....本来说还想进来看看呢
回复
李世铿 2016-5-30 15:29:23

手误点错了 可以了
回复
李世铿 2016-5-30 15:29:41
steer 发表于 2016-5-30 15:24
....本来说还想进来看看呢

可以了
回复
李世铿 2016-5-30 15:29:57

可以了
回复
我就叫土豆 2016-5-30 16:35:39
楼主威武啊,Code4App有你更给力!
回复
haohaode33 2016-5-30 18:20:43
正需要啊,感谢楼主无私分享!
回复
haohaode33 2016-5-30 18:20:59
我只是路过打酱油的。
回复
提取码:  下载次数:192 状态:已购或VIP 售价:0(原价:10)金钱 下载权限:初级码农 
4173 1 192
联系我们
首页/微信公众账号投稿

帖子代码编辑/版权问题

QQ:435399051,742864542

如何获得代码达人称号?

代码贡献英雄榜
用户名 下载数
通过邮件订阅最新 Code4App 信息
上一条 /4 下一条
联系我们
关闭
合作电话:
13802416937
Email:
435399051@qq.com
商务市场合作/投稿
问题反馈及帮助
联系我们

广告投放| Github|申请友链|手机版|Code4App ( 粤ICP备15117877号-1 )

快速回复 返回顶部 返回列表