资讯专栏INFORMATION COLUMN

ios开发-实现无限滚动轮播图

elliott_hu / 3407人阅读

摘要:一添加控件添加控件使用约束,控制底部文字的位置和高度。增加需要的数据这里,我们将图片和文字保存在中创建该控件的模型数据绑定无限滚动年控制器无限滚动年注册

一、添加控件

(1)、添加xib控件

使用约束,控制底部文字text的位置和高度。

(2)、增加需要的数据
这里,我们将图片和文字保存在plist中

(3)、创建该控件的模型

// IWNews.h
#import 

@interface IWNews : NSObject
@property (copy, nonatomic) NSString *title;
@property (copy, nonatomic) NSString *icon;
@end

xib数据绑定

//
//  IWNewsCell.m
//  0729-无限滚动
//
//  Created by Corwien on 16-8-2.
//  Copyright (c) 2016年 Corwien. All rights reserved.
//

#import "IWNewsCell.h"
#import "IWNews.h"

@interface IWNewsCell()
@property (weak, nonatomic) IBOutlet UILabel *titleLabel;

@property (weak, nonatomic) IBOutlet UIImageView *iconView;

@end


@implementation IWNewsCell

- (void)setNews:(IWNews *)news
{
    _news = news;
    
    self.iconView.image = [UIImage imageNamed:news.icon];
    self.titleLabel.text = [NSString stringWithFormat:@"  %@", news.title];
}


@end

控制器:

//
//  IWViewController.m
//  0729-无限滚动
//
//  Created by kaiyi on 16-7-30.
//  Copyright (c) 2016年 kaiyi. All rights reserved.
//

#import "IWViewController.h"
#import "IWNewsCell.h"
#import "IWNews.h"
#import "MJExtension.h"

@interface IWViewController ()
@property (weak, nonatomic) IBOutlet UICollectionView *collectionView;
@property (strong, nonatomic) NSArray *newses;
@end

@implementation IWViewController


-(NSArray *)newses
{
    if(!_newses)
    {
      self.newses = [IWNews objectArrayWithFilename:@"newses.plist"];
    }
    
    return _newses;
}

- (void)viewDidLoad
{
    [super viewDidLoad];
    
    // 注册cell
    [self.collectionView registerNib:[UINib nibWithNibName:@"IWNewsCell" bundle:nil] forCellWithReuseIdentifier:@"news"];
}

-(NSInteger)numberOfSectionsInCollectionView:(UICollectionView *)collectionView{
    return 100;
}

-(NSInteger)collectionView:(UICollectionView *)collectionView numberOfItemsInSection:(NSInteger)section
{
    
    return self.newses.count;
}

-(UICollectionViewCell *)collectionView:(UICollectionView *)collectionView cellForItemAtIndexPath:(NSIndexPath *)indexPath
{
    static NSString *ID = @"news";
    IWNewsCell *cell = [collectionView dequeueReusableCellWithReuseIdentifier:ID forIndexPath:indexPath];
    
    cell.news = self.newses[indexPath.item];
    
    return cell;
    
}
@end

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/16384.html

相关文章

  • ViewPager的自动轮

    摘要:轮播图出来指示器,无限轮播,常常也会有要求自动轮播的需求。这里记录一下轮播图的自动轮播。这篇文章在上篇自添加指示器无限轮播的基础上添加的自动轮播功能下面仍然展示一下效果图为了展示效果,这里加快的轮播速度。 ViewPager轮播图出来指示器,无限轮播,常常也会有要求自动轮播的需求。这里记录一下轮播图的自动轮播。这篇文章在上篇《viewpager自添加指示器,无限轮播》的基础上添加的自动...

    WrBug 评论0 收藏0
  • 手把手教你用原生JavaScript造轮子(2)——轮播图(更新:ES6版本)

    摘要:绑定轮播事件然后是鼠标移入移出事件的绑定鼠标移入移出事件移入时停止轮播播放的定时器,移出后自动开始下一张的播放。 通过上一篇文章的学习,我们基本掌握了一个轮子的封装和开发流程。那么这次将带大家开发一个更有难度的项目——轮播图,希望能进一步加深大家对于面向对象插件开发的理解和认识。 So, Lets begin! 目前项目使用 ES5及UMD 规范封装,所以在前端暂时只支持标签的引入方式...

    jasperyang 评论0 收藏0
  • vue-swiper 基于Vue2.0开发 轻量、高性能轮播插件

    vue-swiper 基于 Vue2.0 开发,基本满足大部分功能 轻量、高性能轮播插件。目前支持 无缝衔接自动轮播、无限轮播、手势轮播 没有引入第三方库,原生 js 封装,打包之后只有 8.2KB 大小 性能还是杠杠滴 demo showImg(https://segmentfault.com/img/remote/1460000012630045?w=280&h=280); ? 觉得好用给...

    Jaden 评论0 收藏0
  • vue-swiper 基于Vue2.0开发 轻量、高性能轮播插件

    vue-swiper 基于 Vue2.0 开发,基本满足大部分功能 轻量、高性能轮播插件。目前支持 无缝衔接自动轮播、无限轮播、手势轮播 没有引入第三方库,原生 js 封装,打包之后只有 8.2KB 大小 性能还是杠杠滴 demo showImg(https://segmentfault.com/img/remote/1460000012630045?w=280&h=280); ? 觉得好用给...

    idealcn 评论0 收藏0
  • Android 轮播图Banner切换图片的效果

    摘要:使用详解年月日阅读数版权声明本文为博主原创文章,未经博主允许不得转载。前言现如今的很多都介入了广告不过大多数都是以轮播图的形式展现的我之前使用的是和自定义控件实现的这些功能不过相比于来说效果还显示很逊色的毕竟现在的手机性能都过剩这些消耗也不Android XBanner使用详解 2018年03月14日 08:19:59AND_Devil阅读数:910 版权声明:本文为博主原创文...

    番茄西红柿 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<