iOS中跑馬燈效果小結

來源:互聯網
上載者:User

標籤:

  時光過得好快,記憶中剛剛從春節返回沒有多久,清明、五一已飛逝而過,眨眼已到盛夏季節。不過還好,濟南這兩年不算太熱,剛開始升溫幾天,一場及時雨總能讓溫度保持適宜。為了紀念一下青春的尾巴,也為了能有個健康的身體和充沛的精力,現在上下班都開始步行。人生就是一場馬拉松,無論何時何地都得學會享受好生活。每天早晚4公裡的步行健身,晚上適當的跑步、看書、電視劇、音樂電台,整個人也感覺充實成長了好多。心靜了,自信了,才能安寧,才能做好每一件事情。年後的這段期間做了一個公司自己的社交項目,總得來說學到很多,另外兩個之前的項目更新最佳化。項目疊加總是讓人痛苦緊張的,所以做好計劃,提高效率是很重要的。最近明白了一句話,工作僅僅是生活的一部分,之前真是將工作看的太重,耗費了太多的精力與時間,其實合理的安排平衡生活工作才是最重要的。

  最近做的項目中用到了很多有意思的東西,像是標籤指定地區設定點擊效果,跑馬燈效果的實現,手機通訊錄中漢字轉化成拼音並實現分組效果,當然研究的過程有的時候是枯燥的,如果真心的沉迷其中,其實也很有樂趣的。當前這個商業化的社會,金錢相關的東西佔據了人太多的精力,既然趕上了變革的時代還是接受現實,經營好每天的生活或許才是正確的態度吧。幸運的是現在越來越喜歡現在的生活,工作的充實感以及帶來的滿足感、成就感。愛你現在的時光,或許每個人都改這麼做的。

  言歸正傳,下面說一下最近項目中用到的跑馬燈控制項。之前做web開發的時候,有專門的跑馬燈控制項,沒想到如此簡單的效果如果自己去實現其實也是有一定的難度的。剛開始也是沒什麼思路,從網上搜了好多的例子,大部分都是同一個出處,其實不知該怎麼說,別人寫的東西直接拷貝過來,完全一樣,好處是能夠使用,也助於別人搜尋,其實這樣的東西最好能夠消化吸收變成自己的東西,想想那些地方可以最佳化。我將從網上搜尋的一個比較成型的demo最佳化了一下,精簡了好多代碼,其實原理很簡單的,有需求的可以參考一下。

  

  UIView*backscrollview=[[UIView alloc]init];

    backscrollview.frame=CGRectMake(10, 13, 100, 18);

    backscrollview.backgroundColor=[UIColor clearColor];

 //需要給標籤設定一個父控制項,並將溢出的部分屏蔽掉

    backscrollview.clipsToBounds=YES;

    [self.navigationController.navigationBar addSubview:backscrollview];

    

    

  //導航左側文本

        UILabel*lblScrollLabel=[[UILabel alloc]init];

        [email protected]"我依然燃燒我仍在信仰";

        lblScrollLabel.font = [UIFont systemFontOfSize:15];

        CGSize lblSize= [HemaFunction getSizeWithStr:lblScrollLabel.text width:150 font:15];

        

        if (lblSize.width>self.frame.size.width)

        {

            lblSize.width=self.frame.size.width;

        }

        lblScrollLabel.frame = CGRectMake(0, 0, lblSize.width, self.frame.size.height);

        lblScrollLabel.backgroundColor = [UIColor clearColor];

        lblScrollLabel.textColor = BB_Blake_Color;

        lblScrollLabel.textAlignment = NSTextAlignmentLeft;


  

    lblScrollLabel.frame = CGRectMake(0, (self.frame.size.height-lblSize.height)/2, lblSize.width, self.frame.size.height);

    //實現標籤滾動的動畫

    CGRect frame = lblScrollLabel.frame;

    frame.origin.x = lblSize.width;

    lblScrollLabel.frame = frame;

 //這個屬性是讓標籤內容自動展示在父控制項中和多行展示屬性有衝突

    [lblScrollLabel sizeToFit];

    [UIView beginAnimations:@"testAnimation" context:NULL];

    [UIView setAnimationDuration:5];

    [UIView setAnimationCurve:UIViewAnimationCurveLinear];

    [UIView setAnimationDelegate:self];

    [UIView setAnimationRepeatAutoreverses:NO];

    [UIView setAnimationRepeatCount:9999999999999];

    

    frame = lblScrollLabel.frame;

    frame.origin.x = -titlewidth;

    lblScrollLabel.frame = frame;

    [UIView commitAnimations];

     [self addSubview:lblScrollLabel];


iOS中跑馬燈效果小結

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.