OC Swift 走马灯效果
生活随笔
收集整理的這篇文章主要介紹了
OC Swift 走马灯效果
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
我們常見走馬燈樣式的功能,下面整理一下 Object-C 與 Swift 的實現代碼
OC UILabel *label3 = [[UILabel alloc] initWithFrame:CGRectMake(10,200, self.view.bounds.size.width, 100)]; label3.backgroundColor = [UIColor redColor]; label3.text =@"走馬燈 走馬燈 走馬燈 走馬燈 走馬燈 走馬燈 走馬燈 走馬燈~~~"; [self.view addSubview:label3];CGRect frame = label3.frame; frame.origin.x = -180; label3.frame = frame; [UIView beginAnimations:@"testAnimation"context:NULL]; [UIView setAnimationDuration:8.8f]; [UIView setAnimationCurve:UIViewAnimationCurveLinear]; [UIView setAnimationDelegate:self]; [UIView setAnimationRepeatAutoreverses:NO]; [UIView setAnimationRepeatCount:999999]; frame = label3.frame; frame.origin.x =350; label3.frame = frame; [UIView commitAnimations]; Swift //添加上計算文字長度,優化動畫效果 let str : NSString = "走馬燈 走馬燈 走馬燈 走馬燈 走馬燈 走馬燈 走馬燈 走馬燈......" let font : UIFont = UIFont.systemFont(ofSize: 14) let attrs : NSDictionary = [NSFontAttributeName : font] let size : CGSize = str.boundingRect(with: CGSize.init(width: kScreenWidth, height: CGFloat(MAXFLOAT)), options: [.usesLineFragmentOrigin, .usesFontLeading], attributes: attrs as! [String : Any], context: nil).size let lab = UIFactory.create_ALabel(text: str as String, superView: self.view) lab.frame = CGRect(x: 15, y: 10, width: kScreenWidth, height: 20) lab.textColor = UIColor.hrgb("666666") lab.font = font var frame : CGRect = lab.frame frame.origin.x = size.width lab.frame = frame UIView.beginAnimations("testAnimation", context: nil) UIView.setAnimationDuration(8.8) UIView.setAnimationCurve(.linear) UIView.setAnimationDelegate(self) UIView.setAnimationRepeatAutoreverses(false) UIView.setAnimationRepeatCount(999999) frame = lab.frame frame.origin.x = -size.width lab.frame = frame UIView.commitAnimations()?
?轉載于:https://www.cnblogs.com/HMJ-29/p/7085615.html
總結
以上是生活随笔為你收集整理的OC Swift 走马灯效果的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 安卓智能电视装什么软件可以看中央台?
- 下一篇: 从位图数据取得位图句柄