高仿百思不得姐(最新版4.5.6)

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了高仿百思不得姐(最新版4.5.6)相关的知识,希望对你有一定的参考价值。

先上效果图

技术分享

 

1

技术分享

2

技术分享

3

技术分享

4

技术分享

5

技术分享

6

技术分享

7

技术分享

8

技术分享

9

技术分享

10

技术分享

11

技术分享

 

本demo已经实现以下功能

音视频播放器

启动广告

语音、图片评论显示

长文本收缩与展开切换

历史穿越

导航条扩展:包括自动融合分离、全屏穿透、透视、更多选择面板

图片自定义缓存策略

GIF高效播放

特色播放进度条

两张图片实现的高效无限轮播器

pop动画

复杂cell高速滚动性能

链式编程

更多功能待你去发现

发现地址 https://github.com/targetcloud/baisibudejie

觉得好别忘记Star

博客地址

http://www.cnblogs.com/targetcloud/p/6175744.html

http://blog.csdn.net/callzjy

http://www.jianshu.com/p/718a12502887 


附加说明:

 

本DEMO高仿最新版百思不得姐(4.5.6),运用OC 编写,运用了以下第三方框架 DACircularProgress FLAnimatedImage pop ...

另外自己定义了一个导航条控件TGSegment,自己的导航条segment与UINavigationController的导航条相互融合,这是很多流行的APP使用的功能,当向上滚动视图时,自己的导航条与UINavigationController的bar整合在一起, 同时融合的导航条(高度在64)变得透明,这也是很多流行APP使用的全屏穿透并有透视效果,如果向下滚动视图时,并达到一定速度,那么segment又从UINavigationController的导航条中分离出来,此时的导航条效果是变高了,高出的部分即segment的高度(两者的相加的高度为:64+segment高度)。

除了上面融合分离透视效果外,作者还加入了在segment的导航条最后的更多功能,点击更多按钮,即会弹出一个控制器,让你选择需要跳转的控制器,这也是很多流行APP使用的功能,如网易新闻等。

本DEMO的数据都用Charles抓取,可能后面的版本的请求数据路径地址在将来会有变化,读者可以自行修改,或者告诉作者修改。

在DEMO中,视频、声音、GIF播放均已实现,视频播放不弹出新的控制器进行播放,而是直接在cell上进行播放,GIF及图片缓存是使用自己的缓存实现的,另外评论界面中的语音播放功能、长文本收缩展开、图片评论等也已经加入。

本DEMO中,也已经实现历史穿越功能,点击精华导航条右上角按钮即可穿越到旧版本,即呈现(全部 视频 声音 图片 段子)这5个控制器的界面。

使用TGSegment的代码如下(若要显示更多按钮功能,那么//.showMore(YES)去掉这句注释即可,本示例使用的链式编程语法)

 

 1 @interface TGEssenceNewVC ()
 2 @property (nonatomic, weak) TGSementBarVC *segmentBarVC;
 3 @end
 4 
 5 @implementation TGEssenceNewVC
 6 
 7 -(UIStatusBarStyle)preferredStatusBarStyle{
 8     return UIStatusBarStyleLightContent;//UIStatusBarStyleDefault;
 9 }
10 
11 - (TGSementBarVC *)segmentBarVC {
12     if (!_segmentBarVC) {
13         TGSementBarVC *vc = [[TGSementBarVC alloc] init];
14         [self addChildViewController:vc];
15         _segmentBarVC = vc;
16     }
17     return _segmentBarVC;
18 }
19 
20 - (void)viewDidLoad {
21     [super viewDidLoad];
22     self.automaticallyAdjustsScrollViewInsets = NO;
23     self.segmentBarVC.segmentBar.frame = CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, 35);
24     self.segmentBarVC.view.frame = self.view.bounds;
25     [self.view addSubview:self.segmentBarVC.view];
26     NSArray *items = @[@"推荐", @"视频", @"图片", @"段子",@"排行",@"互动区",@"网红",@"社会",@"投票",@"美女",@"冷知识",@"游戏"];
27     NSMutableArray* childVCs = [NSMutableArray array];
28     [childVCs addObject:[[TGRecommendedVC alloc] init]];
29     [childVCs addObject:[[TGVideoPlayVC alloc] init]];
30     [childVCs addObject:[[TGPictureVC alloc] init]];
31     [childVCs addObject:[[TGJokesVC alloc] init]];
32     [childVCs addObject:[[TGRankingVC alloc] init]];
33     [childVCs addObject:[[TGInteractVC alloc] init]];
34     [childVCs addObject:[[TGRedNetVC alloc] init]];
35     [childVCs addObject:[[TGSocietyVC alloc] init]];
36     [childVCs addObject:[[TGVoteVC alloc] init]];
37     [childVCs addObject:[[TGBeautyVC alloc] init]];
38     [childVCs addObject:[[TGColdKnowledgeVC alloc] init]];
39     [childVCs addObject:[[TGGameVC alloc] init]];
40     [self.segmentBarVC setupWithItems:items childVCs:childVCs];
41 
42     [self.segmentBarVC.segmentBar updateViewWithConfig:^(TGSegmentConfig *config) {
43         config.selectedColor([UIColor lightTextColor])
44               .normalColor([UIColor lightTextColor])
45               .selectedFont([UIFont systemFontOfSize:14])
46               .normalFont([UIFont systemFontOfSize:13])
47               .indicateExtraW(8)
48               .indicateH(2)
49               .indicateColor([UIColor whiteColor])
50               //.showMore(YES)
51               .moreCellBGColor([[UIColor grayColor] colorWithAlphaComponent:0.3])
52               .moreBGColor([UIColor clearColor])
53               .moreCellFont([UIFont systemFontOfSize:13])
54               .moreCellTextColor(NavTinColor)
55               .moreCellMinH(30)
56               .showMoreBtnlineView(YES)
57               .moreBtnlineViewColor([UIColor lightTextColor])
58               .moreBtnTitleFont([UIFont systemFontOfSize:13])
59               .moreBtnTitleColor([UIColor lightTextColor])
60               .margin(18)
61               .barBGColor(NavTinColor)
62         ;
63     }];
64 }
65 @end

如果您喜欢本项目,请Star

下载地址:https://github.com/targetcloud/baisibudejie

以上是关于高仿百思不得姐(最新版4.5.6)的主要内容,如果未能解决你的问题,请参考以下文章

百思不得姐框架

百思不得姐-笔记

微信小程序实战之百思不得姐精简版

python爬取百思不得姐视频

iOS百思不得姐ARKit旋转动画立体相册源码等

百思不得姐第4天:文本框占位文字颜色