swift刚出没多长时间,看到各种惊呼党,翻译党,黑苹果党,视频教学党如雨后春笋版喷薄而出......我想说有点开发基础的人,其实看看文档也就行了,毕竟语言是拿来用的。

今天花了一下午的时间,没有太看swift的syntax,而是试了试用swift写个最最简单的UILabel动画,贴下代码:

import UIKit
import QuartzCore class FLabel :UIView {
@lazy var mainLabel = UILabel() func setLabel(ftext:NSString?, ffont:CGFloat, falpha:CGFloat, flocation:CGPoint, fsize:CGSize){
mainLabel.font = UIFont(name: "Arial", size: ffont)
mainLabel.text = ftext
mainLabel.textColor = UIColor(white: 1, alpha: falpha)
mainLabel.opaque = false
mainLabel.layer.position = flocation
mainLabel.layer.bounds = CGRectMake(0, 0, fsize.width, fsize.height)
mainLabel.transform = CGAffineTransformMakeRotation(0.785)
mainLabel.lineBreakMode = NSLineBreakMode.ByWordWrapping
mainLabel.adjustsFontSizeToFitWidth = true
self.addSubview(mainLabel)
} func animationStart(){
UILabel.beginAnimations("animationID", context: nil)
UILabel.setAnimationDuration(6)
UILabel.setAnimationCurve(UIViewAnimationCurve.Linear)
let moveTransform2:CGAffineTransform = CGAffineTransformMakeRotation(0.785)
let moveTransform:CGAffineTransform = CGAffineTransformTranslate(moveTransform2, 300, -300)
mainLabel.layer.setAffineTransform(moveTransform)
UILabel.commitAnimations()
} }

可惜,vim和sublime今天出了高亮之后,博客园的代码显示块还没有高亮。苹果cocoa的文档给了我很大的帮助,其中也发生了很大的变化,希望那些真正想用swift开发app的人,还是把注意力关注到cocoa上来。

其中UILabel.lineBreakMode和以前的方法不太一样了,至于adjustsFontSizeToFitWidth我没有试出作用来。

里面动画本来想用显式动画的,发现animationWithKeyPath不让用了,试了很多方法都不行,只能用隐式动画,然后就是CGAffineTransformMakeRotation那个值我真的不会解,做动画没点数学基础是不行的。。。

这个代码里没有体现,今天还试了一下init()

“convenience init(parameters) {
statements
}”

这种重载构造函数的方法确实很有趣,也很有意义

话说现在swift中的proporty真的好用多了,完全的syntax有点像C#。然后没有C#里public和private的权限概念让我觉得怪怪的,总之,经过这乱七八糟的探索之后,这个UILabel终于可以飘了

欢迎访问倾剑飞血文章,转载请注明出处 http://www.cnblogs.com/jacklandrin/p/3768777.html

swift动画小试牛刀的更多相关文章

  1. swift 动画合集

    本例参照objective-c的动画合集进行swift的转换,objective-c地址参照地址https://github.com/yixiangboy/IOSAnimationDemo 1.基础动 ...

  2. Swift动画编程指南-01 简介

    大家好,我是老镇,这段时间家里和工作上发生了很多的事情,所以很长一段时间都没有出来搞什么小动作了.在接下来的一段时间内我会制作一些列关于使用Swift进行动画编程的视频,希望和大家胃口. 在iOS的世 ...

  3. swift - 动画学习

    // //  ViewController.swift //  MapAnimation // //  Created by su on 15/12/10. //  Copyright © 2015年 ...

  4. swift 动画

    // //  ViewController.swift //  Anamation // //  Created by su on 15/12/9. //  Copyright © 2015年 tia ...

  5. Swift动画编程指南-02 Swift动画是怎么炼成的

    上一节我们看了几个很棒的例子,我们不禁会想.他们是怎么设计的,怎么从一个空白的画布变成一个完整的,美丽的动画.这些动画是如何产生的,是哪些属性被改变了.我们还要认真思考的是,每一个步骤到底发生了什么. ...

  6. Swift 动画学习笔记

    视频地址: http://www.swiftv.cn/course/i275v5lz 1,动画属性 position(位置),opacity(透明度,0 全透明,1 不透明),Scale(尺寸),Co ...

  7. Swift - 动画效果的实现方法总结(附样例)

    在iOS中,实现动画有两种方法.一个是统一的animateWithDuration,另一个是组合出现的beginAnimations和commitAnimations.这三个方法都是类方法. 一,使用 ...

  8. Swift 动画片段

    UIView.transitionWithView( self.WeatherDetailsView, duration: 0.7, options: .TransitionCrossDissolve ...

  9. iOS开发——动画篇Swift篇&动画效果的实现

    Swift - 动画效果的实现   在iOS中,实现动画有两种方法.一个是统一的animateWithDuration,另一个是组合出现的beginAnimations和commitAnimation ...

随机推荐

  1. 【Codeforces710F】String Set Queries (强制在线)AC自动机 + 二进制分组

    F. String Set Queries time limit per test:3 seconds memory limit per test:768 megabytes input:standa ...

  2. [uva11722&&cogs1488]和朋友会面Joining with Friend

    几何概型,<训练指南>的题.分类讨论太神啦我不会,我只会萌萌哒的simpson强上~这里用正方形在y=x-w的左上方的面积减去在y=x+w左上方的面积就是两条直线之间的面积,然后切出来的每 ...

  3. java获取当天,前天,明天,本周,本月,本年的开始日期时间和结束日期时间

    package demoone; import java.sql.Timestamp; import java.text.ParseException; import java.text.Simple ...

  4. ajax之 get post请求

    get请求 function get(){ $.get( "./Aservlet?id=5", function(data, textStatus, jqXHR){ $(" ...

  5. 利用HTML5定位功能,实现在百度地图上定位

    <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&quo ...

  6. JS控制flash的方法

    JS控制flash的一些方法:Play() ---------------------------------------- 播放动画 StopPlay()---------------------- ...

  7. thinkphp 3.2与phpexcel

    thinkphp版本:3.2 1.在http://phpexcel.codeplex.com/下载最新PHPExcel 2.把Classes目录下的文件(PHPExcel.php和PHPExcel文件 ...

  8. Canvas实例

    <!doctype html> <html> <head> <meta charset="utf-8" /> <title&g ...

  9. unity3D游戏-WorldFight

    计划写一个2D策略类的游戏,玩法类似炉石传说,以收集卡牌为主,不同的地方在于战斗方式类似棋类游戏,而且还有一个技能系统作为补充. ---更新(2015.7.13) v2.0.1更新: 添加了基本AI ...

  10. java.lang.NoSuchFieldError 异常原因

    一般都是因为 class 或 jar 包重复 导致的 , 也有可能是编译器的问题. 我碰到的问题是,在项目api 接口jar包里定义了一个Config.java,然后在业务层service 项目 的相 ...