?更新-->直播界面的實(shí)現(xiàn),橫屏,豎屏適配
關(guān)于項(xiàng)目
開發(fā)環(huán)境:Xcode 7.3.1,語言:Objective-C
用到的工具:Charles
首頁

首頁 推薦

輪播圖
輪播圖用的是第三方框架SDCycleScrollView,功能多,簡單易用,具體實(shí)現(xiàn)看代碼
SDCycleScrollView *headView = [SDCycleScrollView cycleScrollViewWithFrame:CGRectMake(0, 0, [UIScreen mainScreen].bounds.size.width, 140) delegate:self placeholderImage:[UIImage imageNamed:@"cover_img_default"]];
self.headView = headView;
headView.pageControlStyle = SDCycleScrollViewPageContolStyleClassic;
headView.pageControlAliment = SDCycleScrollViewPageContolAlimentRight;
headView.currentPageDotColor = [UIColor colorWithRed:255/255.0 green:121/255.0 blue:31/255.0 alpha:1.0];
[slide addSubview:headView];
NSMutableArray *imageArray = [NSMutableArray array];
self.imageArray = imageArray;
for (Slide_data *iamges in self.slide.data) {
[self.imageArray addObject:iamges.pic_url];
}
self.headView.imageURLStringsGroup = self.imageArray;

滑動(dòng)按鈕
這個(gè)部分是用繼承自UICollectionReusableView的一個(gè)視圖然后再套用collectionView,如果大家有好的想法,可以交流,備注:控制器用的是collectionViewController

collectionView頭部
同樣繼承UICollectionReusableView的視圖,再自定義子控件。子控件代碼如下 ,用到了masonry約束。
- (instancetype)initWithFrame:(CGRect)frame
{
if (self = [super initWithFrame:frame]) {
[self setupSubviews];
}
return self;
}
- (void)setupSubviews
{
UIView *bgView = [[UIView alloc]init];
self.bgView = bgView;
[self addSubview:bgView];
[bgView mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.left.right.bottom.mas_equalTo(0);
}];
UIImageView *icon = [[UIImageView alloc]init];
self.icon = icon;
[self addSubview:icon];
[icon mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(5);
make.centerY.mas_equalTo(self.bgView);
}];
UILabel *titleLabel = [[UILabel alloc]init];
self.titleLabel = titleLabel;
[self addSubview:titleLabel];
[titleLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(30);
make.centerY.mas_equalTo(self.icon);
}];
titleLabel.textColor = [UIColor blackColor];
titleLabel.font = [UIFont systemFontOfSize:14];
UIButton *moreBtn = [[UIButton alloc]init];
self.moreBtn = moreBtn;
[self addSubview:moreBtn];
[moreBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.right.mas_equalTo(-10);
make.centerY.mas_equalTo(self.bgView);
make.width.mas_equalTo(60);
}];
[moreBtn setImage:[UIImage imageNamed:@"btn_skip_pressed"] forState:UIControlStateNormal];
[moreBtn setTitle:@"更多" forState:UIControlStateNormal];
moreBtn.titleLabel.font = [UIFont systemFontOfSize:12];
[moreBtn setTitleColor:[UIColor colorWithRed:170/255.0 green:170/255.0 blue:170/255.0 alpha:1.0] forState:UIControlStateNormal];
moreBtn.imageEdgeInsets = UIEdgeInsetsMake(0, 50, 0, 0);
}

collectionView 尾部
同樣繼承UICollectionReusableView的視圖,就是一個(gè)灰色的view
- (instancetype)initWithFrame:(CGRect)frame
{
if (self = [super initWithFrame:frame]) {
[self setupSubviews];
}
return self;
}
- (void)setupSubviews
{
UIView *view = [[UIView alloc]init];
self.view = view;
[self addSubview:view];
[view mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.top.bottom.right.mas_equalTo(0);
}];
view.backgroundColor = [[UIColor lightGrayColor]colorWithAlphaComponent:0.3];
}

collectionViewCell
這個(gè)就是collectionViewCell了,里面有2種尺寸的cell,根據(jù)section區(qū)分尺寸就可以了,標(biāo)題也一樣區(qū)分
顏值模塊直播實(shí)現(xiàn)

直播
直播的框架,我使用的b站的ijkplayer,詳細(xì)的集成方法和使用方法簡書上搜一下很多,點(diǎn)贊,送禮物暫時(shí)沒實(shí)現(xiàn),待研究。
其它模塊直播實(shí)現(xiàn)
斗魚直播鏈接抓不到(加密了)所以找了一個(gè)在線直播衛(wèi)視,rtmp://live.hkstv.hk.lxdns.com:1935/live/hks,只演示播放功能的實(shí)現(xiàn)

播放器
首頁 游戲

首頁 游戲
和推薦模塊相近,代碼類似

首頁 娛樂
和推薦模塊相近,代碼類似

首頁 趣玩
和推薦模塊相近,代碼類似
關(guān)注

關(guān)注

頭部
這個(gè)就是加一個(gè)白色的view
- (void)setupSubviews
{
UIView *bgView = [[UIView alloc]init];
self.bgView = bgView;
[self.view addSubview:bgView];
[bgView mas_makeConstraints:^(MASConstraintMaker *make) {
make.width.mas_equalTo([UIScreen mainScreen].bounds.size.width);
make.height.mas_equalTo(100);
make.top.mas_equalTo(64);
}];
bgView.backgroundColor = [UIColor whiteColor];
UILabel *label = [[UILabel alloc]init];
self.label = label;
[bgView addSubview:label];
[label mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(30);
make.centerX.mas_equalTo(self.view);
}];
label.text = @"你還沒有登錄";
label.font = [UIFont systemFontOfSize:16];
label.textColor = [UIColor colorWithRed:255/255.0 green:114/255.0 blue:47/255.0 alpha:1.0];
UILabel *subLabel = [[UILabel alloc]init];
[bgView addSubview:subLabel];
[subLabel mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(self.label.mas_bottom).mas_equalTo(10);
make.centerX.mas_equalTo(self.view);
}];
subLabel.text = @"看看下面的推薦或登錄已有帳號";
subLabel.font = [UIFont systemFontOfSize:14];
subLabel.textColor = [UIColor grayColor];
}
我的

我的

頭部
頭部用的是xib,省去寫代碼了有弧度的控件,設(shè)置相關(guān)的layer屬性,導(dǎo)航欄透明看代碼
-(void)viewWillAppear:(BOOL)animated{
[super viewWillAppear:animated];
[self.navigationController.navigationBar setBackgroundImage:[UIImage new] forBarMetrics:UIBarMetricsDefault];
[self.navigationController.navigationBar setShadowImage:[UIImage new]];
}
-(void)viewWillDisappear:(BOOL)animated{
[super viewWillDisappear:animated];
[self.navigationController.navigationBar setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault];
[self.navigationController.navigationBar setShadowImage:nil];
}