1. 程式人生 > >高仿百思不得姐(最新版4.5.6)

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

需要 screen 高仿 property rect society 多選 透明 nav

先上效果圖

技術分享

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)