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. bzoj 4557: [JLoi2016]侦察守卫 树归

    bzoj 4557: [JLoi2016]侦察守卫 设f[x][j]表示覆盖以x为根的子树的所有应该被覆盖的节点,并且以x为根的子树向下j层全部被覆盖的最小代价. 设g[x][j]表示与x距离大于j全 ...

  2. Xcode6 管理provisioning profile

    profile文件的存放位置为 /Users/用户名/Library/MobileDevice/Provisioning Profiles 更新profile文件后,Code Signing Iden ...

  3. iOS苹果推送功能实现步骤

    1.在钥匙串里 导出推送证书Apple Push notification Services 的 certificate, 命名为cer.p12,放在电脑桌面 ,期间密码设为123456 2.在钥匙串 ...

  4. php 做数学运算时结果为0的原因

    php是一种弱类型的脚本语言,一般情况下字符串型的数字可以直接参与运算. 但是当字符串开头是实体空格的时候系统会默认字符串等于0. 此问题比较隐蔽,在此记录下

  5. hibernate的集中持久化方法的区别

    一.预备知识 在所有之前,说明一下,对于hibernate,它的对象有三种状态,transient.persistent.detached 下边是常见的翻译办法: transient:瞬态或者自由态 ...

  6. SQL SERVER几种数据迁移/导出导入的实践

    SQLServer提供了多种数据导出导入的工具和方法,在此,分享我实践的经验(只涉及数据库与Excel.数据库与文本文件.数据库与数据库之间的导出导入). (一)数据库与Excel 方法1: 使用数据 ...

  7. Unity自动打包 apk

    1.流程 Unity打包 apk,会把Unity安装目录下的默认 AndroidManifest.Xml 文件覆盖到apk中去,同时还会拷贝该文件所在目录下的其它默认设置文件,如 res 和 asse ...

  8. IK分词器 整合solr4.7 含同义词、切分词、停止词

    转载请注明出处! IK分词器如果配置成 <fieldType name="text_ik" class="solr.TextField"> < ...

  9. HTML5+CSS3 - 代码简写篇

    有话先说:我是一只菜鸟,还是一只刚步入前端这个领域的小菜年,在不断的进阶,理解最深刻的还是代码,既爱又恨却不知如何去感悟. background属性简写: background-position属性组 ...

  10. 表设置了自增后往里面插入不自增的id时的处理方法

    SET IDENTITY_INSERT 表名 ON 中间写insert语句,但是这里必须把列名更上 SET IDENTITY_INSERT 表名 OFF