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. LCIS

    传送门 http://bestcoder.hdu.edu.cn/contests/contest_chineseproblem.php?cid=726&pid=1003 分析:这道题依然是动态 ...

  2. docker入门记录1

    一. 什么是Docker 1.英文意思是集装箱,很形象.直白点就是将程序运行环境打包在一个箱子里,然后箱子扔到哪里,里边的程序都可以运行.这样以来一个显而易见的好处是:和以前的开发环境等相比,你不用每 ...

  3. 我的SqlHelper类!

    using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Threa ...

  4. d3 document

    https://github.com/d3/d3/wiki/API--%E4%B8%AD%E6%96%87%E6%89%8B%E5%86%8C https://github.com/d3/d3/wik ...

  5. awk删除文件第一列

    awk删除文件第一列 1.采用awk awk '{$1="";print $0}' file 2.采用sed sed -e 's/[^]* //' file sort -R fil ...

  6. 20145204&20145212实验二报告

    实验二固件设计 步骤: 1.开发环境的配置,参考实验一 1.将实验代码拷贝到共享文件夹中. 2.在虚拟机中编译代码.对于多线程相关的代码,编译时需要加-lpthread的库.下载调试在超级终端中运行可 ...

  7. 网络中两台主机的通信过程(TCP)

    两台主机通信有两种情况:1.在同一网段中 2.不在同一网段中 (1.)在同一网段的通信过程 主机在应用层上的操作: TCP/IP协议上tcp的端口对应的各种应用程序,客户机要访问某个应用程序就会要求打 ...

  8. Windows 7 激活时的坑

    前段时间,桌面上有两个文件用各种方法删除不了. 然后今天终于进了PE系统,使用DG把这两货干掉了. 重启进入Windows,提示我 不是正版,今天必须激活,桌面变成了一片黑... 打开小马激活工具OE ...

  9. 简述block

    block传值也适用于从后往前传值 先介绍block的基本知识 /** * 1.如何定义一个Block变量 2.怎样给定义的Block变量赋初值 3.如何冲定义Block类型 4.如何使用Block实 ...

  10. C# BlockCollection

    1.BlockCollection集合是一个拥有阻塞功能的集合,它就是完成了经典生产者消费者的算法功能. 它没有实现底层的存储结构,而是使用了IProducerConsumerCollection接口 ...