1.导入UIColor+FlatColors和ZLSwipeableView
2.创建uiview .h
//主view
@property (nonatomic,strong)UIView *Vi;
//收藏图片
@property (nonatomic,strong)UIButton *CollectionBtn;
//主图片
@property (nonatomic,strong)UIImageView *MainImg;
//加载器
@property (nonatomic,strong)UISlider *Sli;
//开始时间
@property (nonatomic,strong)UILabel *FirstTime;
//最后时间
@property (nonatomic,strong)UILabel *LastTime;
//主内容
@property (nonatomic,strong)UILabel *Name;
//循环按钮
@property (nonatomic,strong)UIButton *LoopBtn;
//上一首
@property (nonatomic,strong)UIButton *LastOneBtn;
//开始播放
@property (nonatomic,strong)UIButton *PlayBtn;
//下一首
@property (nonatomic,strong)UIButton *NextOneBtn;
//列表
@property (nonatomic,strong)UIButton *ListBtn;
//点赞
@property (nonatomic,strong)UIButton *GiveUpBtn;
//留言
@property (nonatomic,strong)UIButton *MessageBtn;
//分享
@property (nonatomic,strong)UIButton *ShareBtn;
//定时
@property (nonatomic,strong)UIButton *TimingBtn;
.m
//
// CardView.m
// ZLSwipeableViewDemo
//
// Created by Zhixuan Lai on 11/1/14.
// Copyright (c) 2014 Zhixuan Lai. All rights reserved.
//
#import "CardView.h"
#import "Masonry.h"
@implementation CardView
- (instancetype)init {
self = [super init];
if (self) {
[self setup];
}
return self;
}
- (instancetype)initWithFrame:(CGRect)frame {
self = [super initWithFrame:frame];
if (self) {
[self setup];
}
return self;
}
- (instancetype)initWithCoder:(NSCoder *)aDecoder {
self = [super initWithCoder:aDecoder];
if (self) {
[self setup];
}
return self;
}
- (void)setup {
// Shadow
self.layer.shadowColor = [UIColor blackColor].CGColor;
self.layer.shadowOpacity = 0.33;
self.layer.shadowOffset = CGSizeMake(0, 1.5);
self.layer.shadowRadius = 4.0;
self.layer.shouldRasterize = YES;
self.layer.rasterizationScale = [UIScreen mainScreen].scale;
// Corner Radius
self.layer.cornerRadius = 10.0;
#pragma mark 背景图片
#pragma mark 主view;
_Vi.userInteractionEnabled=YES;
_Vi=[[UIView alloc]init];
_Vi.backgroundColor=[UIColor whiteColor];
_Vi.layer.cornerRadius = 8;
_Vi.layer.shadowColor = [UIColor colorWithRed:153/255.0 green:153/255.0 blue:153/255.0 alpha:0.9].CGColor;
_Vi.layer.shadowOffset = CGSizeMake(0,2);
_Vi.layer.shadowOpacity = 1;
_Vi.layer.shadowRadius = 10;
[self addSubview:self.Vi];
[_Vi mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(100);
make.left.mas_equalTo(30);
make.right.mas_equalTo(-30);
make.width.mas_equalTo(400);
make.height.mas_equalTo(550);
}];
#pragma mark 收藏
_CollectionBtn=[[UIButton alloc]init];
[_CollectionBtn setImage:[UIImage imageNamed:@"收藏次数"] forState:UIControlStateNormal];
[self.Vi addSubview:self.CollectionBtn];
[_CollectionBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(60);
make.width.mas_equalTo(60);
make.right.mas_equalTo(self.Vi.mas_right).offset(-10);
make.top.mas_equalTo(self.Vi.mas_top).offset(10);
}];
#pragma mark 碟子图片
_MainImg=[[UIImageView alloc]init];
[self.Vi addSubview:_MainImg];
_MainImg.image=[UIImage imageNamed:@"xiaodiepian"];
[_MainImg mas_makeConstraints:^(MASConstraintMaker *make) {
make.height.mas_equalTo(200);
make.width.mas_equalTo(120);
make.top.mas_equalTo(30);
make.left.mas_equalTo(45);
make.right.mas_equalTo(-45);
}];
#pragma mark 滑动器
_Sli=[[UISlider alloc]init];
_Sli.value=0.5;
_Sli.minimumValue=0;
_Sli.maximumValue=1;
// _Sli.continuous = YES;// 设置可连续变化
_Sli.minimumTrackTintColor = [UIColor colorWithRed:135/255.0 green:61/255.0 blue:202/255.0 alpha:1]; //滑轮左边颜色,如果设置了左边的图片就不会显示
_Sli.maximumTrackTintColor = [UIColor colorWithRed:183/255.0 green:183/255.0 blue:183/255.0 alpha:1]; //滑轮右边颜色,如果设置了右边的图片就不会显示
//滑块图片
UIImage *thumbImage = [UIImage imageNamed:@"音频_滑杆"];
[_Sli setThumbImage:thumbImage forState:UIControlStateHighlighted];
[_Sli setThumbImage:thumbImage forState:UIControlStateNormal];
[self.Vi addSubview:self.Sli];
[_Sli mas_makeConstraints:^(MASConstraintMaker *make) {
make.bottom.mas_equalTo(self.MainImg.mas_bottom).offset(35);
make.height.mas_equalTo(15);
make.width.mas_equalTo(self.Vi);
}];
#pragma mark 最小时间
_FirstTime=[[UILabel alloc]init];
_FirstTime.text=@"01:08";
_FirstTime.font=[UIFont systemFontOfSize:14];
_FirstTime.textColor=[UIColor grayColor];
[self.Vi addSubview:self.FirstTime];
[_FirstTime mas_makeConstraints:^(MASConstraintMaker *make) {
make.bottom.mas_equalTo(self.Sli.mas_bottom).offset(30);
make.height.mas_equalTo(40);
make.width.mas_equalTo(100);
make.left.mas_equalTo(10);
}];
#pragma mark 最大时间
_LastTime=[[UILabel alloc]init];
_LastTime.text=@"03:00";
_LastTime.textAlignment=NSTextAlignmentRight;
_LastTime.font=[UIFont systemFontOfSize:14];
_LastTime.textColor=[UIColor grayColor];
[self.Vi addSubview:self.LastTime];
[_LastTime mas_makeConstraints:^(MASConstraintMaker *make) {
make.bottom.mas_equalTo(self.Sli.mas_bottom).offset(30);
make.height.mas_equalTo(40);
make.width.mas_equalTo(100);
make.right.mas_equalTo(-10);
}];
#pragma mark 内容
_Name=[[UILabel alloc]init];
_Name.text=@"带你体验声音的魔法";
_Name.textAlignment=NSTextAlignmentCenter;
_Name.font=[UIFont systemFontOfSize:19];
[self.Vi addSubview:self.Name];
[_Name mas_makeConstraints:^(MASConstraintMaker *make) {
make.top.mas_equalTo(self.Sli.mas_bottom).offset(10);
make.height.mas_equalTo(35);
make.width.mas_equalTo(400);
make.left.mas_equalTo(50);
make.right.mas_equalTo(-50);
}];
#pragma mark 顺序
_LoopBtn=[[UIButton alloc]init];
[_LoopBtn setImage:[UIImage imageNamed:@"shunxu"] forState:UIControlStateNormal];
[self.Vi addSubview:self.LoopBtn];
[_LoopBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(self.Vi.mas_left).offset(25);
make.top.mas_equalTo(self.Name.mas_bottom).offset(20);
make.width.mas_equalTo(35);
make.height.mas_equalTo(35);
}];
#pragma mark 上一首
_LastOneBtn=[[UIButton alloc]init];
[self.LastOneBtn setImage:[UIImage imageNamed:@"shangyishou"] forState:UIControlStateNormal];
[self.Vi addSubview:self.LastOneBtn];
[_LastOneBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(self.LoopBtn.mas_right).offset(25);
make.top.mas_equalTo(self.Name.mas_bottom).offset(20);
make.width.mas_equalTo(35);
make.height.mas_equalTo(35);
}];
#pragma mark 播放
_PlayBtn=[[UIButton alloc]init];
[self.PlayBtn setImage:[UIImage imageNamed:@"bofang"] forState:UIControlStateNormal];
// 音频列表_随机播放 bofang
[self.Vi addSubview:self.PlayBtn];
[_PlayBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(self.LastOneBtn.mas_right).offset(15);
make.top.mas_equalTo(self.Name.mas_bottom).offset(-5);
make.width.mas_equalTo(80);
make.height.mas_equalTo(80);
}];
#pragma mark 下一首
_NextOneBtn=[[UIButton alloc]init];
[self.NextOneBtn setImage:[UIImage imageNamed:@"xiayishou"] forState:UIControlStateNormal];
[self.Vi addSubview:self.NextOneBtn];
[_NextOneBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.left.mas_equalTo(self.PlayBtn.mas_right).offset(20);
make.top.mas_equalTo(self.Name.mas_bottom).offset(20);
make.width.mas_equalTo(35);
make.height.mas_equalTo(35);
}];
#pragma mark 列表
_ListBtn=[[UIButton alloc]init];
[self.ListBtn setImage:[UIImage imageNamed:@"ListBtn"] forState:UIControlStateNormal];
[self.Vi addSubview:self.ListBtn];
[_ListBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.right.mas_equalTo(-25);
make.left.mas_equalTo(self.NextOneBtn.mas_right).offset(20);
make.top.mas_equalTo(self.Name.mas_bottom).offset(20);
make.width.mas_equalTo(35);
make.height.mas_equalTo(35);
}];
#pragma mark 点赞
_GiveUpBtn=[[UIButton alloc]init];
[self.GiveUpBtn setImage:[UIImage imageNamed:@"点赞次数"] forState:UIControlStateNormal];
[self.Vi addSubview:self.GiveUpBtn];
[_GiveUpBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.bottom.mas_equalTo(-30);
make.left.mas_equalTo(25);
make.top.mas_equalTo(self.LoopBtn.mas_bottom).offset(25);
make.width.mas_equalTo(40);
make.height.mas_equalTo(40);
}];
#pragma mark 留言
_MessageBtn=[[UIButton alloc]init];
[self.MessageBtn setImage:[UIImage imageNamed:@"pinglun1"] forState:UIControlStateNormal];
[self.Vi addSubview:self.MessageBtn];
[_MessageBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.bottom.mas_equalTo(-30);
make.left.mas_equalTo(self.GiveUpBtn.mas_right).offset(40);
make.top.mas_equalTo(self.LoopBtn.mas_bottom).offset(25);
make.width.mas_equalTo(40);
make.height.mas_equalTo(40);
}];
#pragma mark 分享
_ShareBtn=[[UIButton alloc]init];
[self.ShareBtn setImage:[UIImage imageNamed:@"分享次数"] forState:UIControlStateNormal];
[self.Vi addSubview:self.ShareBtn];
[_ShareBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.bottom.mas_equalTo(-30);
make.left.mas_equalTo(self.MessageBtn.mas_right).offset(50);
make.top.mas_equalTo(self.LoopBtn.mas_bottom).offset(25);
make.width.mas_equalTo(40);
make.height.mas_equalTo(40);
}];
#pragma mark 定时
_TimingBtn=[[UIButton alloc]init];
[self.TimingBtn setImage:[UIImage imageNamed:@"dingshi"] forState:UIControlStateNormal];
// [self.TimingBtn addTarget:self action:@selector(dj) forControlEvents:UIControlEventTouchUpInside];
[self.Vi addSubview:self.TimingBtn];
[_TimingBtn mas_makeConstraints:^(MASConstraintMaker *make) {
make.bottom.mas_equalTo(-30);
make.right.mas_equalTo(-30);
make.top.mas_equalTo(self.LoopBtn.mas_bottom).offset(25);
make.width.mas_equalTo(40);
make.height.mas_equalTo(40);
}];
}
controller.h
#import <UIKit/UIKit.h>
#import "ZLSwipeableView.h"
NS_ASSUME_NONNULL_BEGIN
@interface AUDIOViewController : UIViewController<ZLSwipeableViewDataSource, ZLSwipeableViewDelegate, UIActionSheetDelegate>
@property (nonatomic, strong) ZLSwipeableView *swipeableView;
- (UIView *)nextViewForSwipeableView:(ZLSwipeableView *)swipeableView;
.m
#import "AUDIOViewController.h"
#import "UIColor+FlatColors.h"
#import "CardView.h"
@interface AUDIOViewController (){
UIImageView *Img;
CardView *card;
}
@property (nonatomic, strong) NSArray *colors;
@property (nonatomic) NSUInteger colorIndex;
@property (nonatomic) BOOL loadCardFromXib;
@end
@implementation AUDIOViewController
-(void)viewDidAppear:(BOOL)animated{
[super viewDidAppear:animated];
self.navigationController.navigationBarHidden=YES;
}
- (void)viewDidLoad {
[super viewDidLoad];
[self Video];
[self Dxiao];
self.colorIndex = 0;
self.colors = @[
@"Turquoise",
@"Green Sea",
@"Emerald",
@"Nephritis",
@"Peter River",
@"Belize Hole",
@"Amethyst",
@"Wisteria",
@"Wet Asphalt",
@"Midnight Blue",
@"Sun Flower",
@"Orange",
@"Carrot",
@"Pumpkin",
@"Alizarin",
@"Pomegranate",
@"Clouds",
@"Silver",
@"Concrete",
@"Asbestos"
];
}
-(void)Dxiao{
ZLSwipeableView *swipeableView = [[ZLSwipeableView alloc] initWithFrame:CGRectZero];
self.swipeableView = swipeableView;
Img=[[UIImageView alloc]initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT)];
Img.userInteractionEnabled=YES;
Img.image=[UIImage imageNamed:@"ditu"];
// Img.userInteractionEnabled=YES;
[self.view addSubview:Img];
[Img addSubview:self.swipeableView];
// Required Data Source
self.swipeableView.dataSource = self;
// Optional Delegate
self.swipeableView.delegate = self;
self.swipeableView.translatesAutoresizingMaskIntoConstraints = NO;
NSDictionary *metrics = @{};
[self.view addConstraints:[NSLayoutConstraint
constraintsWithVisualFormat:@"|-50-[swipeableView]-50-|"
options:0
metrics:metrics
views:NSDictionaryOfVariableBindings(
swipeableView)]];
[self.view addConstraints:[NSLayoutConstraint
constraintsWithVisualFormat:@"V:|-120-[swipeableView]-100-|"
options:0
metrics:metrics
views:NSDictionaryOfVariableBindings(
swipeableView)]];
}
- (void)viewDidLayoutSubviews {
[self.swipeableView loadViewsIfNeeded];
}
- (UIView *)nextViewForSwipeableView:(ZLSwipeableView *)swipeableView {
if (self.colorIndex >= self.colors.count) {
self.colorIndex = 0;
}
CardView *view = [[CardView alloc] initWithFrame:CGRectMake(0, 0, SCREEN_WIDTH, SCREEN_HEIGHT)];
self.colorIndex++;
return view;
}