2018-12-25横向无限自动移动


#import "recFifCell.h"
#define yis 0.2
#define ScreenWidth [UIScreen mainScreen].bounds.size.width
#define ScreenHeight  [UIScreen mainScreen].bounds.size.height
@interface recFifCell()
{
    int number;
}
@property(nonatomic,strong)UIView *bgview;
@property(nonatomic,strong)UIView *oenView;
@property(nonatomic,strong)UIView *towView;
@property(nonatomic,strong)UIView *oensView;
@property(nonatomic,strong)UIView *towsView;
@property (nonatomic,strong)CADisplayLink *displayLink;
@property(nonatomic,strong)NSArray *imgArr;
@property(nonatomic,strong)NSArray *titleArr;
@end

@implementation recFifCell

- (void)awakeFromNib {
    [super awakeFromNib];
    // Initialization code
}
-(instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier
{
    self=[super initWithStyle:style reuseIdentifier:reuseIdentifier];
    if (self) {
      
        self.bgview = [[UIView alloc]initWithFrame:CGRectMake(20, 0, ScreenWidth-40, 280)];
        self.bgview.layer.masksToBounds=YES;
        self.bgview.layer.cornerRadius=10;
        self.bgview.backgroundColor = [UIColor grayColor];
        [self addSubview:self.bgview];
        
        self.imgArr = @[@"jiangzhe1",@"jiangzhe2",@"jiangzhe3",@"jiangzhe4"];
        self.titleArr = @[@"虞姬",@"猴子",@"凯",@"貂蝉"];
        number = (int)self.imgArr.count;
        [self addview];
        _displayLink = [CADisplayLink displayLinkWithTarget:self selector:@selector(rotate)];
        _displayLink.frameInterval = 3.0;
        [_displayLink addToRunLoop:[NSRunLoop currentRunLoop] forMode:NSRunLoopCommonModes];
    }
    return self;
}
-(void)addview{
    
    self.oenView = [[UIView alloc]init];
    [self.bgview addSubview:self.oenView];
    self.towView = [[UIView alloc]init];
    [self.bgview addSubview:self.towView];
    

    self.oensView = [[UIView alloc]init];
    [self.bgview addSubview:self.oensView];
    self.towsView = [[UIView alloc]init];
    [self.bgview addSubview:self.towsView];
    
    
    
    
    for (int a=0; a<number; a++) {
        UIImageView *imgView = [[UIImageView alloc]initWithFrame:CGRectMake(100*a, 15, 70, 70)];
        imgView.image = [UIImage imageNamed:[NSString stringWithFormat:@"%@",self.imgArr[a]]];
        imgView.layer.cornerRadius=35;
        imgView.clipsToBounds=YES;
        imgView.backgroundColor = [UIColor yellowColor];
        [self.oenView addSubview:imgView];
        UILabel *nameLabel= [[UILabel alloc]initWithFrame:CGRectMake(100*a, 93, 70, 14)];
        nameLabel.textAlignment = NSTextAlignmentCenter;
        nameLabel.font=[UIFont systemFontOfSize:14];
        nameLabel.textColor = [UIColor whiteColor];
        nameLabel.text=[NSString stringWithFormat:@"%@",self.titleArr[a]];
        [self.oenView addSubview:nameLabel];
        
        UILabel *OccupationLabel= [[UILabel alloc]initWithFrame:CGRectMake(100*a, 93+20, 70, 11)];
        OccupationLabel.textAlignment = NSTextAlignmentCenter;
        OccupationLabel.font=[UIFont systemFontOfSize:11];
        OccupationLabel.textColor = [UIColor whiteColor];
        OccupationLabel.text=@"这几个很无敌的";
        [self.oenView addSubview:OccupationLabel];
        
        
    }
    for (int a=0; a<number; a++) {
        UIImageView *imgView = [[UIImageView alloc]initWithFrame:CGRectMake(100*a, 15, 70, 70)];
        imgView.image = [UIImage imageNamed:[NSString stringWithFormat:@"%@",self.imgArr[a]]];
        imgView.layer.cornerRadius=35;
        imgView.backgroundColor = [UIColor yellowColor];
        imgView.clipsToBounds=YES;
        [self.towView addSubview:imgView];
        UILabel *nameLabel= [[UILabel alloc]initWithFrame:CGRectMake(100*a, 93, 70, 14)];
        nameLabel.textAlignment = NSTextAlignmentCenter;
        nameLabel.font=[UIFont systemFontOfSize:14];
        nameLabel.textColor = [UIColor whiteColor];
        nameLabel.text=[NSString stringWithFormat:@"%@",self.titleArr[a]];
        [self.towView addSubview:nameLabel];
        
        UILabel *OccupationLabel= [[UILabel alloc]initWithFrame:CGRectMake(100*a, 93+20, 70, 11)];
        OccupationLabel.textAlignment = NSTextAlignmentCenter;
        OccupationLabel.font=[UIFont systemFontOfSize:11];
        OccupationLabel.textColor = [UIColor whiteColor];
        OccupationLabel.text=@"这几个很无敌的";
        [self.towView addSubview:OccupationLabel];
        
    }
    
    self.oenView.frame = CGRectMake(0, 0, 100*number, 140);
    self.towView.frame = CGRectMake(100*number, 0, 100*number, 140);
    
    
    for (int a=0; a<number; a++) {
        UIImageView *imgView = [[UIImageView alloc]initWithFrame:CGRectMake(100*a, 15, 70, 70)];
        imgView.image = [UIImage imageNamed:[NSString stringWithFormat:@"%@",self.imgArr[a]]];
        imgView.layer.cornerRadius=35;
        imgView.clipsToBounds=YES;
        imgView.backgroundColor = [UIColor yellowColor];
        [self.oensView addSubview:imgView];
        UILabel *nameLabel= [[UILabel alloc]initWithFrame:CGRectMake(100*a, 93, 70, 14)];
        nameLabel.textAlignment = NSTextAlignmentCenter;
        nameLabel.font=[UIFont systemFontOfSize:14];
        nameLabel.textColor = [UIColor whiteColor];
        nameLabel.text=[NSString stringWithFormat:@"%@",self.titleArr[a]];
        [self.oensView addSubview:nameLabel];
        
        UILabel *OccupationLabel= [[UILabel alloc]initWithFrame:CGRectMake(100*a, 93+20, 70, 11)];
        OccupationLabel.textAlignment = NSTextAlignmentCenter;
        OccupationLabel.font=[UIFont systemFontOfSize:11];
        OccupationLabel.textColor = [UIColor whiteColor];
        OccupationLabel.text=@"这几个很无敌的";
        [self.oensView addSubview:OccupationLabel];
        
    }
    for (int a=0; a<number; a++) {
        UIImageView *imgView = [[UIImageView alloc]initWithFrame:CGRectMake(100*a, 15, 70, 70)];
        imgView.image = [UIImage imageNamed:[NSString stringWithFormat:@"%@",self.imgArr[a]]];
        imgView.layer.cornerRadius=35;
        imgView.backgroundColor = [UIColor yellowColor];
        imgView.clipsToBounds=YES;
        [self.towsView addSubview:imgView];
        UILabel *nameLabel= [[UILabel alloc]initWithFrame:CGRectMake(100*a, 93, 70, 14)];
        nameLabel.textAlignment = NSTextAlignmentCenter;
        nameLabel.font=[UIFont systemFontOfSize:14];
        nameLabel.textColor = [UIColor whiteColor];
        nameLabel.text=[NSString stringWithFormat:@"%@",self.titleArr[a]];
        [self.towsView addSubview:nameLabel];
        
        UILabel *OccupationLabel= [[UILabel alloc]initWithFrame:CGRectMake(100*a, 93+20, 70, 11)];
        OccupationLabel.textAlignment = NSTextAlignmentCenter;
        OccupationLabel.font=[UIFont systemFontOfSize:11];
        OccupationLabel.textColor = [UIColor whiteColor];
        OccupationLabel.text=@"这几个很无敌的";
        [self.towsView addSubview:OccupationLabel];
        
    }
    self.oensView.frame = CGRectMake(0, 140, 100*number, 140);
    self.towsView.frame = CGRectMake(0-100*number,140, 100*number, 140);
    
    
}


- (void)rotate {
    
    
    
    self.oenView.frame=CGRectMake(self.oenView.frame.origin.x-yis,0, self.oenView.frame.size.width, 140);
    self.towView.frame = CGRectMake(self.towView.frame.origin.x-yis, 0, self.towView.frame.size.width, 140);
    
    self.oensView.frame = CGRectMake(self.oensView.frame.origin.x+yis, 140, self.oensView.frame.size.width, 140);
    self.towsView.frame = CGRectMake(self.towsView.frame.origin.x+yis,140, self.towsView.frame.size.width, 140);
    


    
    if (self.oenView.frame.origin.x < -self.oenView.frame.size.width) {
        self.oenView.frame = CGRectMake(self.towView.frame.origin.x+self.towView.frame.size.width, 0, self.oenView.frame.size.width, 140);
    }
    if (self.towView.frame.origin.x < -self.towView.frame.size.width) {
        self.towView.frame = CGRectMake(self.oenView.frame.origin.x+self.oenView.frame.size.width, 0, self.towView.frame.size.width, 140);
    }
    
    
    
    
    if (self.oensView.frame.origin.x > ScreenWidth+10.000000) {
        self.oensView.frame = CGRectMake(self.towsView.frame.origin.x-self.oensView.frame.size.width, 140, self.oensView.frame.size.width, 140);
    }
    if (self.towsView.frame.origin.x > ScreenWidth+10.000000) {
        self.towsView.frame = CGRectMake(self.oensView.frame.origin.x-self.towsView.frame.size.width, 140, self.towsView.frame.size.width, 140);
    }
    
    

    
}
#pragma mark --- 定时器销毁
- (void)invalidate {
    if (!_displayLink) {
        [_displayLink invalidate];
        _displayLink = nil;
    }
}
-(void)dealloc{
    if (_displayLink) {
        [_displayLink invalidate];
        _displayLink = nil;
    }
}


©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容