• Stars
    star
    189
  • Rank 204,649 (Top 5 %)
  • Language
    Objective-C
  • Created over 9 years ago
  • Updated over 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

列表滚动视图,性能王者!

CorePagesView (持续关注信息公告牌

列表滚动视图,性能王者!



重磅推出

Swift版 文档:https://github.com/nsdictionary/CFPagesVC

框架截图 SHOW

image



框架升级1.2版本 NEW FEATURE!

####框架特性:

1.去除了宏定义配置,因为宏定义是全局的,我项目中遇到了不同的页面需要不同的配置, 所以页面参数配置变成了Model配置,更加灵活。
2.根据要求修复了右滑动越界崩溃的bug。
3.根据要求添加了代码动态设置页码,增加了相应的API
4.处理了用户疯狂点击顶部按钮因为复用机制导致的bug。

1.0版本使用说明 USAGE

框架说明 EXPALIN

.本框架主要是为了解决类似以下界面的而生:
.网易新闻列表
.越狱版的同步推(没越狱的没用过,不知道是不是一样的)
.还有我自己做的项目如铁路wifi,车联网都使用到了这样的界面
.等等,这种需求非常常见。
大概的界面是:一个页面需要左右滑动,切换子控制器,同时顶部有tab标题,点击也可以滑动到对应的页面。

框架由来 FROM =============== 为什么要写这个框架,感觉功能不是很多啊?
首先要说的是这个需求其实是非常复杂的,我写的这个框架有上千行代码,里面有很多细节是需要注意的
2.1 子控制器的数量不是固定的,这个需求有3个,下一个需求有4个。甚至网易新闻那种可定制化菜单,数量是不确定的。

2.2 由于数量不确定,所以对整个需求加大了难度,同时如果像网易那种,有十来个子控制器,如果你敢一个全部加载,只能引发内存问题,我之前做了一个项目叫铁路wifi,有8个新闻栏目同时加载,在iphone 4上面直接卡死8秒左右才有反应。

2.3 你仔细观察网易新闻,你会发现当点击tab切换,3分钟左右会触发新闻列表页面的刷新,当然这个新闻页面的刷新绝对不是本框架去关心的,这个是属性CoreList类型的加载框架应该做的事情,换句话说,为了解耦,你点击切换tab,只有在一种情况下才能触发,那就是触发子控制器的生命周期方法如viewDidAppear:和viewDidDisappear:,同时也涉及性能问题,我们需要动态添加和移除子视图。这个也是比较复杂的。同时添加和移除需要考虑很多问题,如子列表的位置,比如移除前子列表是一个tableView显示在第20行,移除添加之后最好还是在这个位置,给人一种没有动过的感觉。

2.4 对于顶部的菜单来说,也有很多种样式,有的是一个按钮就很宽的,有的是图片加文字,有的是居中但是不是很宽,所以这些都是可以封装的,同时也是可以自定义修改的。

2.5 scrollView的滚动切换与点击tab的切换是逻辑的,是可以封装的,同时如果顶部菜单数量过多,还需要动态调整让当前显示在中间。这些都是可以封装起来的。

2.6 需要考虑屏幕旋转及横竖屏的问题。

项目解析 USAGE

本框架写了一周左右(我正在做车联网,写框架的时间不是很多),写框架的时间考虑的问题还是算比较全面,
下面就对如果自定义出你想要的样式,核心思想、重要代码以及使用做出一个解释。<br /><br />

使用示例:

1.集成
    
-(CorePagesView *)pagesView{

    if(_pagesView==nil){
        
        NewsListTVC *tvc1 = [[NewsListTVC alloc] init];
        NewsListTVC *tvc2 = [[NewsListTVC alloc] init];
        NewsListTVC *tvc3 = [[NewsListTVC alloc] init];
        NewsListTVC *tvc4 = [[NewsListTVC alloc] init];
        
        
        CorePageModel *model1=[CorePageModel model:tvc1 pageBarName:@"新闻1"];
        CorePageModel *model2=[CorePageModel model:tvc2 pageBarName:@"新闻2"];
        CorePageModel *model3=[CorePageModel model:tvc3 pageBarName:@"新闻3"];
        CorePageModel *model4=[CorePageModel model:tvc4 pageBarName:@"新闻4"];
        
        
        NSArray *pageModels=@[model1,model2,model3,model4];
        
    
        //自定义配置。如果传nil,则为默认值(全局有效)
        CorePagesViewConfig *config = [[CorePagesViewConfig alloc] init];
        config.isBarBtnUseCustomWidth = YES;
        config.barViewH = 80;
        

        _pagesView=[CorePagesView viewWithOwnerVC:self pageModels:pageModels config:config];

    }
    
    return _pagesView;
}


2.代码跳转:
/** 中转到指定页码 */
-(void)jumpToPage:(NSUInteger)jumpPage;

####.效果图片
image

image

image

image

More Repositories

1

CorePhotoBroswerVC

快速集成高性能照片浏览器,支持本地及网络相册
Objective-C
1,575
star
2

CoreLock

高仿支付宝解锁
Objective-C
971
star
3

CoreModel

Replace CoreData
Objective-C
727
star
4

PhotoBrowser

Photo Browser Terminator
Swift
613
star
5

CFCityPickerVC

城市选取控制器
Swift
544
star
6

Reflect

Reflection, Dict2Model, Model2Dict, Archive
Swift
307
star
7

CoreStatus

网络状态监听者:可监听2G/3G/4G
Objective-C
220
star
8

CoreLaunch

一键启动动画
Objective-C
214
star
9

CoreRefresh

核心上拉下拉刷新控件,高性能、与众不同!
Objective-C
188
star
10

CoreNavVC

Most Powerfull NavigationController
Objective-C
187
star
11

CFRuntime

重磅推出:Swift版的MJExtension,运行时、反射与一键字典模型互转
Swift
174
star
12

CoreNewFeatureVC

版本新特性
Objective-C
171
star
13

CoreFMDB

One Key Database Operations
Objective-C
157
star
14

Show

信息公示牌
153
star
15

CorePhotoPickerVCManager

大统一的多功能照片选取器,集成拍摄,单选,多选。
Objective-C
150
star
16

CoreJPush

三分钟,五句代码,搞定JPush
Objective-C
125
star
17

CoreArchive

One Key Archive
Objective-C
111
star
18

CoreUmeng

友盟分享封装
Objective-C
103
star
19

CoreHttp

抛弃AFN,网络处理工具类,将网络交互玩于股掌间的利器!
Objective-C
93
star
20

CorePullScale

表格顶部图片下拉放大控件,一键式安装,异常简单
Objective-C
86
star
21

CoreEmotionView

表情键盘
Objective-C
79
star
22

CoreTFManagerVC

强大的键盘躲避管理器,完全解耦版本!
Objective-C
77
star
23

TextField-InputView

UITextField+InputView模式:终结注册类、信息采集类
Swift
68
star
24

CFPPTView

Swift版幻灯,scrollView无限滚动,支持网络和本地图片展示!
Objective-C
66
star
25

CorePPTVC

幻灯终结者:超简单、酷且炫、多样式、自定义!
Objective-C
62
star
26

CoreLabel

为图文混排而设计,超轻量级的Label,轻度使用下是TTTLabel的最佳替换选择
Objective-C
61
star
27

SinaPhotoView

朋友圈相册视图
Swift
57
star
28

CoreCategory

核心分类,基本所有需要用的功能聚集于此!
Objective-C
48
star
29

CFPagesVC

Professional Multi controller management Framework based on Swift
Swift
45
star
30

CoreMediaFuncManagerVC

一句话打电话
Objective-C
39
star
31

CoreBtn

核心按钮,让界面更专业!旨在替代一部份HUD的Btn
Objective-C
36
star
32

TextView-KeyBoard

textView的键盘躲避者,一句代码集成,灵活,好用。
Swift
34
star
33

CorePasswordView

仿支付宝密码视图
Objective-C
32
star
34

CoreHamburgerManagerVC

汉堡菜单,高度解耦,您想怎么搞就怎么搞!
Objective-C
31
star
35

CoreAleetViewManagerVC

高度集成AlertView/ActionSheet,真的只需要一句代码!
Objective-C
26
star
36

CoreSVP

核心提示工具
Objective-C
25
star
37

CoreList

内部研发
Objective-C
21
star
38

ThreeDTouch

3D Touch
Swift
18
star
39

CoreViewNetWorkStausManager

网络状态提示图层管理者,提高你的app的逼格与细节。
Objective-C
17
star
40

CoreException

核心异常捕捉及处理框架
Objective-C
15
star
41

CoreEaseMob

EaseMob
Objective-C
15
star
42

SwipeNavigationVC

向右滑动退出栈顶控制器
Objective-C
15
star
43

CorePickerView

极简选取器,一安一取,简单方便!
Objective-C
13
star
44

ShiDianFontFit

全自动的屏幕字体适配
Objective-C
13
star
45

CoreBlurView

第二牛B的模糊视图(含图片模糊)
Objective-C
12
star
46

CoreReg

正则封装
Objective-C
11
star
47

CorePageControl

高度自定义的pageControl
Objective-C
10
star
48

CFSegmentControl

双版本分段选取控件
Swift
9
star
49

CoreWeb

原生WebView与H5混编,高效,简单!
8
star
50

CoreExtend

Charlin私有框架:核心扩展
Objective-C
7
star
51

CoreSDWebImage

自用图片加载模型,基于SDWebImage封装
Objective-C
6
star
52

CFSnapKit

CFSnapKit
Swift
6
star
53

CoreFormView

表格
Objective-C
6
star
54

AppLaunchADView

AppLaunchADView
Swift
5
star
55

Resource

5
star
56

SwiftExtension

SwiftExtension
Swift
5
star
57

CoreToast

基于CRToast的封装,更好用
Objective-C
5
star
58

CoreCalendar

日历
Objective-C
5
star
59

CoreJazzHandsVC

手势帧动画
Objective-C
5
star
60

KRVideoPlayerVC

KRVideoPlayer 修改版
Objective-C
5
star
61

CoreCapture

仿微信视频拍摄
Objective-C
4
star
62

CoreAddressBookVC

通讯录
Objective-C
4
star
63

CoreTransition

Push切换
Objective-C
4
star
64

CoreGuideView

CoreGuideView
Objective-C
4
star
65

CoreKXMovie

编译KXMovie
C
3
star
66

ShiDianHttp

基于Volley的框架(浓郁的iOS风格)
Java
3
star
67

LocationManager

LocationManager
Swift
3
star
68

AnimTabVC

AnimTabVC
Swift
3
star
69

CoreRAC

集成RAC
Objective-C
3
star
70

CoreMasonry

Masonry
Objective-C
3
star
71

CoreShineLabel

淡入淡出的Label
Objective-C
3
star
72

CountDownLabel

考试系统倒计时
Swift
3
star
73

CoreVideoView

CoreVideoView
Objective-C
3
star
74

Snapkit

Snapkit
Objective-C
2
star
75

ImagePicker

ImagePicker
Objective-C
2
star
76

CoreYYWebImage

CoreYYWebImage
Objective-C
2
star
77

WeChatApp

微信小程序笔记
2
star
78

CorePopView

CorePopView
Objective-C
2
star
79

CorePaperButton

CorePaperButton
Objective-C
2
star
80

CorePopoverController

PopoverController
Objective-C
2
star
81

CoreWebViewController

CoreWebViewController
Objective-C
2
star
82

CoreTipView

CoreTipView
Objective-C
2
star
83

Pop

Pop动画引擎
Objective-C++
2
star
84

ShiDianPay

ShiDianPay
C
2
star
85

CoreKeyChain

KeyChain
Objective-C
2
star
86

YeahComponent

YeahComponent
Objective-C
1
star
87

ShiDianPlayerView

ShiDianPlayerView
Objective-C
1
star
88

CFPhotoBroswer

Powefull PhotoBroswer For Swift
Swift
1
star
89

MapView

MapView
Swift
1
star
90

CoreLBXScan

CoreLBXScan
Objective-C
1
star
91

CoreJHAnim

CoreJHAnim
Objective-C
1
star
92

CoreTextView

CoreTextView
Objective-C
1
star
93

NewcomerGuide

NewcomerGuide
Swift
1
star
94

CoreAsyncDisplayKit

CoreAsyncDisplayKit
Objective-C++
1
star
95

CoreMorphingLabel

仿iOS8的Label
Objective-C
1
star
96

CoreIV

CoreIV
Objective-C
1
star
97

ShiDianUM

ShiDianUM
Objective-C
1
star
98

ShiDianWebViewController

Objective-C
1
star
99

CoreUMengMobClick

CoreUMengMobClick
Objective-C
1
star
100

ShiDianRefresh

ShiDianRefresh
Objective-C
1
star