iOS - 實現在有限label上 動態顯示所有文字
專著:http://www.jianshu.com/p/a490131e00e7
效果如下:
001.gif
思路
建立一個view 作為所有內容的父控制元件, 並且新增到上面一個 label, 作為顯示文字的載體
UILabel* contentLabel = [[UILabelalloc] init];[contentLabel sizeToFit];contentLabel.backgroundColor= [UIColorclearColor]; _contentLabel = contentLabel; [selfaddSubview:self.contentLabel];
給內容view的layer新增一個mask層, 並且設定其範圍為整個view的bounds, 這樣就讓超出view的內容不會顯示出來
CAShapeLayer* maskLayer = [CAShapeLayerlayer];maskLayer.path= [UIBezierPathbezierPathWithRect:self.bounds].CGPath;self.layer.mask= maskLayer;
給label新增動畫
CAKeyframeAnimation* keyFrame = [CAKeyframeAnimationanimation];keyFrame.keyPath=@"transform.translation.x";keyFrame.values= @[@(0), @(-space), @(0)];keyFrame.repeatCount=NSIntegerMax;keyFrame.duration=self.speed*self.contentLabel.text.length;keyFrame.timingFunctions= @[[CAMediaTimingFunctionfunctionWithName:kCAMediaTimingFunctionEaseInEaseOut], [CAMediaTimingFunctionfunctionWithControlPoints:0:0:0.5:0.5]];keyFrame.delegate=self;[self.contentLabel.layeraddAnimation:keyFrame forKey:nil];
使用方法
// 建立CFDynamicLabel* testLabel = [[CFDynamicLabelalloc] initWithFrame:CGRectMake(100,300,180,21)];// 設定滾動速度testLabel.speed=0.6;[self.viewaddSubview:testLabel];// 設定基本屬性testLabel.text=@"我不想說再見,不說再見,越長大越孤單";testLabel.textColor= [UIColoryellowColor];testLabel.font= [UIFontsystemFontOfSize:23];testLabel.backgroundColor= [UIColorgrayColor];
相關文章
- iOS 讓Label根據其上的文字屬性自適應顯示iOS
- Element 利用Tooltip提示框實現動態顯示文字提示
- flutter在IOS上顯示英文FlutteriOS
- iOS專案開發實戰——Label中字型字號與Label多行顯示iOS
- Geoserver + MySQL實現圖層顯示和文字顯示ServerMySql
- QT實現動態顯示系統時間QT
- 直播系統開發,實現在進度條中顯示文字顯示進度
- Cell 動態行高文字顯示不全問題探索
- iOS設定tabbar不顯示文字,只顯示圖片iOStabBar
- 如何實現網頁文字原格式顯示網頁
- 動態的實現任意表的ALV顯示02
- 動態的實現任意表的ALV顯示01
- 超出文字顯示省略號,hover效果:文字滾動顯示==》求解
- 收藏 不顯示刪除回覆顯示所有回覆顯示星級回覆顯示得分回覆 動態網站部署到伺服器出現了問題網站伺服器
- iOS 高德地圖怎麼在螢幕內顯示所有的Marker?iOS地圖
- CSS實現超出文字以省略號顯示CSS
- App在iOS 11下真機顯示正常模擬器上顯示有問題APPiOS
- iOS開發 如何在Label中顯示圖片-圖文混排iOS
- 【聊技術】在Android中實現自適應文字大小顯示Android
- 動態顯示:文字框字數(輸入還剩多少字)
- 八、Qt Creator實現狀態列顯示QT
- Xamarin iOS教程之顯示和編輯文字iOS
- css實現文字過長顯示省略號的方法CSS
- 用C語言實現有限狀態自動機FSMC語言
- SAP ABAP 動態內表實現 ALV橫向按月份動態顯示資料
- 在 Laravel 中動態 隱藏 / 顯示 API 欄位LaravelAPI
- jquery實現的點選按鈕改變可用狀態和顯示文字程式碼jQuery
- 如何用 CSS 實現多行文字的省略號顯示CSS
- jQuery 動態數字顯示jQuery
- alv動態顯示列
- Tree動態顯示Icon
- 數碼管動態顯示
- css實現動態陰影、蝕刻文字、漸變文字CSS
- iOS 簡單實現帶圖片的LabeliOS
- 在 .NET 中使用有限狀態機實現工作流建模 - Lloyd
- 在Director中實現文字滾動 (轉)
- django 實現圖片上傳和顯示操作Django
- 【iOS】動態更換圖示iOS