iOS開發UI篇 無限輪播(新聞資料展示)

2021-09-08 19:06:27 字數 3732 閱讀 8795

ios開發ui篇—無限輪播(新聞資料展示)

一、實現效果

二、實現步驟

1.前期準備

(1)匯入資料轉模型的第三方框架mjextension

(2)向專案中新增儲存有「新聞」資料的plist檔案

(3)匯入用到的素材

2.步驟和**

(1)新建乙個資料模型

該模型的**設計如下:

yynews.**件

1 //

2 // yynews.h

3 // 08-無限滾動(新聞資料展示)

4 //

5 6 #import 7

8 @inte***ce yynews : nsobject

9 @property(nonatomic,copy)nsstring *title;

10 @property(nonatomic,copy)nsstring *icon;

11 @end

(2)新建乙個繼承自uicollectionviewcell的類,用於自定義cell。

(3)新建乙個xib檔案,和自定義的cell做關聯

**設計如下:

yycell.**件

1 //

2 // yycell.h

3 // 08-無限滾動(新聞資料展示)

4 //

5 6 #import 7

8 @class yynews;

9 @inte***ce yycell : uicollectionviewcell

10 @property(nonatomic,strong)yynews *news;

11 @end

yycell.m檔案

1 //

2 // yycell.m

3 // 08-無限滾動(新聞資料展示)

4 //

5 6 #import "yycell.h"

7 #import "yynews.h"

8 9 @inte***ce yycell ()

10 @property (weak, nonatomic) iboutlet uilabel *label;

11 @property (weak, nonatomic) iboutlet uiimageview *imageview;

12 13 @end

14 @implementation yycell

15 16 -(void)setnews:(yynews *)news

17 22

23 @end

(4)在主控制器中的**處理

yyviewcontroller.m檔案

1 //

2 // yyviewcontroller.m

3 //

4 //

7 //

8 9 #import "yyviewcontroller.h"

10 #import "mjextension.h"

11 #import "yynews.h"

12 #import "yycell.h"

13 14 #define yyidcell @"cell"

15 16 @inte***ce yyviewcontroller ()17 @property (weak, nonatomic) iboutlet uicollectionview *collectinview;

18 @property(nonatomic,strong)nsarray *news;

19 @end

20 21 @implementation yyviewcontroller

22 23 #pragma mark-懶載入

24 -(nsarray *)news

25 29 return _news;

30 }

31 - (void)viewdidload

32 39

40 #pragma mark- uicollectionviewdatasource

41 //一共多少組,預設為1組

42 -(nsinteger)numberofsectionsincollectionview:(uicollectionview *)collectionview

43 46 -(nsinteger)collectionview:(uicollectionview *)collectionview numberofitemsinsection:(nsinteger)section

47 50

51 -(uicollectionviewcell *)collectionview:(uicollectionview *)collectionview cellforitematindexpath:(nsindexpath *)indexpath

52 57

58 #pragma mark-uicollectionviewdelegate

59 @end

3.補充說明(1)如果collectioncell是以xib的方式自定義的,那麼在註冊cell的時候,需要使用另外一種方式。

[self.collectinview registerclass:[yyimagecell class] forcellwithreuseidentifier:yycell];

[self.collectinview registernib:[uinib nibwithnibname:@"yycell" bundle:nil] forcellwithreuseidentifier:yyidcell];

(2)在自定義xib的時候,使用collectionviewcell。並設定其標識為cell.

(3)列印檢視cell的利用情況

iOS開發UI篇 無限輪播(功能完善)

文頂頂 ios開發ui篇 無限輪播 功能完善 一 自動滾動 新增並設定乙個定時器,每個2.0秒,就跳轉到下一條。獲取當前正在展示的位置。1 self addnstimer 2 34 void addnstimer 59 void nextpage 10列印檢視 實現步驟 1 新增並設定定時器 2 設...

iOS開發UI篇 無限輪播(迴圈展示)

ios開發ui篇 無限輪播 迴圈展示 一 簡單說明 之前的程式還存在乙個問題,那就是不能迴圈展示,因為plist檔案中只有五個陣列,因此第乙個和最後乙個之後就沒有了,下面介紹處理這種迴圈展示問題的小技巧。方法一 使用乙個for迴圈,迴圈200次,建立200 1000個模型,且預設程式啟動後處在第10...

iOS開發UI篇 無限輪播(功能完善)

ios開發ui篇 無限輪播 功能完善 一 自動滾動 新增並設定乙個定時器,每個2.0秒,就跳轉到下一條。獲取當前正在展示的位置。1 self addnstimer 2 34 void addnstimer 59 void nextpage 10列印檢視 實現步驟 1 新增並設定定時器 2 設定定時器...