ios垂直輪播label

使用兩個Label(也可以為view网棍,可以在view上添加圖片等,原理一樣)實現(xiàn)垂直方向的廣告輪播

廣告對于一個App來說是必不可少的,隨之而來的就是各種各樣的廣告展現(xiàn)方式仲义,最常見的就是banner,圖片輪播了剑勾,常用的第三方框架SDCycleScrollView埃撵。

? 今天給大家實現(xiàn)一下垂直輪播的廣告(因為公司需要,所以寫了下虽另,小白一枚不足的地方盡情指出來:smile:);原理如下圖:


38759134-F6DE-4BC3-A04D-A4285AE6C079.png

兩個label初始位置為1和2暂刘,當(dāng)1和2滾動到3的位置時,重新定位到2的初始位置捂刺。如此一來就實現(xiàn)了無限滾動谣拣。

效果圖:

1.gif

verticalScroll.h中代碼如下:

#import <UIKit/UIKit.h>

@interface verticalScrollView : UIView
//滾動的時間間隔
@property(nonatomic,assign)NSTimeInterval interval;
//數(shù)據(jù)源
@property(nonatomic,strong)NSArray *dataArray;
@end

.m中代碼:

#import "verticalScrollView.h"

@interface verticalScrollView(){

//定時器募寨,讓label動起來
NSTimer *timer;
//第一個label
UILabel *firstLabel;
    
//第二個label
UILabel *secondLabel;
}
@end

@implementation verticalScrollView

-(instancetype)initWithFrame:(CGRect)frame{
    self=[super initWithFrame:frame];
    if (self) {
        CGFloat width=frame.size.width;
        CGFloat height=frame.size.height;
        self.backgroundColor=[UIColor redColor];
        firstLabel=[[UILabel alloc] initWithFrame:self.bounds];
        secondLabel=[[UILabel alloc] initWithFrame:CGRectMake(0, height, width, height)];
        firstLabel.text=self.dataArray[0];
        [firstLabel setTextColor:[UIColor blackColor]];
        secondLabel.text=self.dataArray[1];
        [secondLabel setTextColor:[UIColor blackColor]];
        [self addSubview:firstLabel];
        [self addSubview:secondLabel];
        self.clipsToBounds=YES;
        timer=[NSTimer scheduledTimerWithTimeInterval:self.interval target:self selector:@selector(scroll) userInfo:nil repeats:YES];
    }
    return self;
}
NSInteger I=1;
-(void)scroll{
    I++;
    i=i>self.dataArray.count-1?0:i;
    CGFloat height=firstLabel.frame.size.height;
    CGFloat width=firstLabel.frame.size.width;
    [UIView animateWithDuration:1 animations:^{
        NSArray *labelArray=self.subviews;
      //讓label滾動起來
        for (UIView *view in labelArray) {
            if ([view isKindOfClass:[UILabel class]]) {
                UILabel *label=(UILabel *)view;
                CGRect rect=label.frame;
                rect.origin.y-=height;
                label.frame=rect;
            }
        }
        
    } completion:^(BOOL finished) {
      //重新定位label的位置
        if (firstLabel.frame.origin.y==-height) {
            firstLabel.frame=CGRectMake(0, height,width,height);
            firstLabel.text=self.dataArray[I];
        }
        if (secondLabel.frame.origin.y==-height) {
            secondLabel.frame=CGRectMake(0,height, width,height);
            secondLabel.text=self.dataArray[I];

        }
    }];
    
}
//釋放定時器
-(void)dealloc{
    [timer invalidate];
    timer=nil;
}
@end

到此滾動廣告已經(jīng)封裝完了,現(xiàn)在可以調(diào)用了森缠。

調(diào)用代碼:

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    _aview=[[verticalScrollView alloc] initWithFrame:CGRectMake(100, 100, 200, 40)];
    _aview.interval=2.0f;
    [self.view addSubview:_aview];
    
}
@end
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末拔鹰,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子贵涵,更是在濱河造成了極大的恐慌列肢,老刑警劉巖,帶你破解...
    沈念sama閱讀 206,126評論 6 481
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件宾茂,死亡現(xiàn)場離奇詭異瓷马,居然都是意外死亡,警方通過查閱死者的電腦和手機跨晴,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 88,254評論 2 382
  • 文/潘曉璐 我一進店門欧聘,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人坟奥,你說我怎么就攤上這事树瞭。” “怎么了爱谁?”我有些...
    開封第一講書人閱讀 152,445評論 0 341
  • 文/不壞的土叔 我叫張陵晒喷,是天一觀的道長。 經(jīng)常有香客問我访敌,道長凉敲,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 55,185評論 1 278
  • 正文 為了忘掉前任寺旺,我火速辦了婚禮爷抓,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘阻塑。我一直安慰自己蓝撇,他們只是感情好,可當(dāng)我...
    茶點故事閱讀 64,178評論 5 371
  • 文/花漫 我一把揭開白布陈莽。 她就那樣靜靜地躺著渤昌,像睡著了一般。 火紅的嫁衣襯著肌膚如雪走搁。 梳的紋絲不亂的頭發(fā)上独柑,一...
    開封第一講書人閱讀 48,970評論 1 284
  • 那天,我揣著相機與錄音私植,去河邊找鬼忌栅。 笑死,一個胖子當(dāng)著我的面吹牛曲稼,可吹牛的內(nèi)容都是我干的索绪。 我是一名探鬼主播湖员,決...
    沈念sama閱讀 38,276評論 3 399
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼者春!你這毒婦竟也來了破衔?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 36,927評論 0 259
  • 序言:老撾萬榮一對情侶失蹤钱烟,失蹤者是張志新(化名)和其女友劉穎晰筛,沒想到半個月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體拴袭,經(jīng)...
    沈念sama閱讀 43,400評論 1 300
  • 正文 獨居荒郊野嶺守林人離奇死亡读第,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 35,883評論 2 323
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了拥刻。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片怜瞒。...
    茶點故事閱讀 37,997評論 1 333
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖般哼,靈堂內(nèi)的尸體忽然破棺而出吴汪,到底是詐尸還是另有隱情,我是刑警寧澤蒸眠,帶...
    沈念sama閱讀 33,646評論 4 322
  • 正文 年R本政府宣布漾橙,位于F島的核電站,受9級特大地震影響楞卡,放射性物質(zhì)發(fā)生泄漏霜运。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 39,213評論 3 307
  • 文/蒙蒙 一蒋腮、第九天 我趴在偏房一處隱蔽的房頂上張望淘捡。 院中可真熱鬧,春花似錦池摧、人聲如沸焦除。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,204評論 0 19
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽膘魄。三九已至,卻和暖如春宦棺,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背黔帕。 一陣腳步聲響...
    開封第一講書人閱讀 31,423評論 1 260
  • 我被黑心中介騙來泰國打工代咸, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人成黄。 一個月前我還...
    沈念sama閱讀 45,423評論 2 352
  • 正文 我出身青樓呐芥,卻偏偏與公主長得像逻杖,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子思瘟,可洞房花燭夜當(dāng)晚...
    茶點故事閱讀 42,722評論 2 345