随笔分类 - Swift语言
摘要:动画预览 先扯淡 最近手痒又想整点动画玩玩,但是想了几个主意发现稍微复杂一点的手写都一定会累爆。这篇文章记录一下今天折腾的一个方案。说来简单,就是用矢量设计工具舒舒服服的做好设计,然后输出成 svg 格式,再用 NSXMLParser 去读出来,转换成 UIBezierPath ,然后就天高任鸟飞~
阅读全文
摘要:最好的特点就是可以自定义路径,设置圆角和描边都很方便,以下为代码和效果,均在playground中实现 1、首先实现一个圆角矩形,并对此路径描边,为其绘制一个轮廓。 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 //: Playgroun
阅读全文
摘要:CAShapeLayer 是 CALayer 的子类,但是比 CALayer 更灵活,可以画出各种图形,当然,你也可以使用其他方式来画,随你。 杂谈 在 CAShapeLayer 中,也可以像 CALayer 一样指定它的 frame 来画,就像这样: 然后你就会得到如图这样的黑色矩形 但是,CAS
阅读全文
摘要:一.去重: 1>颜色: UIColor.whiteColor() 被改为 UIColor.white() 2>数组取值: list.objectAtIndex(i) 被改为 list.object(at: i) 3>present: presentViewController(controller,
阅读全文
摘要:swift 3.0 字符串的介绍 OC和Swift中字符串的区别 在OC中字符串类型时NSString,在Swift中字符串类型是String OC中字符串@"",Swift中字符串"" 使用 String 的原因 String 是一个结构体,性能更高 NSString 是一个 OC 对象,性能略差
阅读全文
摘要:extension UIView { func colorOfPoint (point: CGPoint) -> UIColor { var pixel = UnsafePointer<CUnsignedChar>.alloc(4) let colorSpace = CGColorSpaceCrea
阅读全文
摘要:汉堡按钮在界面设计中已经是老生常谈了,但是当我在dribbble看到这个漂亮的过渡动画时,我决定试试用代码实现它。 这是 CreativeDash team 的原型图: 你可能已经注意到了,汉堡顶部和底部的线条是来自’X’字符,中间的线条变为外框。我知道这种效果可以用CAShapeLayer创建出来
阅读全文
摘要:除存储属性外,类、结构体和枚举可以定义计算属性,计算属性不直接存储值,而是提供一个 getter 来获取值,一个可选的 setter 来间接设置其他属性或变量的值。 这个例子定义了 3 个几何形状的结构体: Point封装了一个(x, y)的坐标 Size封装了一个width和height Rect
阅读全文
摘要:此篇文章整理自我以前学习Swift时的一些练习代码,其存在的意义多是可以通过看示例代码更快地回忆Swift的主要语法。 如果你想系统学习Swift或者是Swift的初学者请绕路,感谢Github上The Swift Programming Language开源翻译的中文版,感谢极客学院wiki提供的
阅读全文
摘要:此篇文章整理自我以前学习Swift时的一些练习代码,其存在的意义多是可以通过看示例代码更快地回忆Swift的主要语法。 如果你想系统学习Swift或者是Swift的初学者请绕路,感谢Github上The Swift Programming Language开源翻译的中文版,感谢极客学院wiki提供的
阅读全文
摘要:SWIFT 中 指针被映射为泛型 UnsafePointer<T> UnsafeMutablePointer<T> 表示一组连续数据指针的 UnsafeBufferPointer<T> 表示非完整结构的不透明指针 COpaquePointer 等等 UnsafePointer<T> 通过 memor
阅读全文
摘要:下午在适配iPadUI的时候,用到了UIPopoverPresentationController,然后在转屏的时候需要调用UIPopoverPresentationControllerDelegate来返回一个适配后的view和CGRect,这里先看下在OC里的写法: 在OC里面你可以很方便的修改
阅读全文
摘要:extension UIImage{ /** 获取图片中的像素颜色值 - parameter pos: 图片中的位置 - returns: 颜色值 */ func getPixelColor(pos:CGPoint)->(alpha: CGFloat, red: CGFloat, green: CG
阅读全文
摘要:swift版本:3.0 Xcode版本:8.0 iOS版本:10.0 自iOS10 和swift3.0 之后,苹果的访问CoreData的方法发生了很大改变,简洁了许多,下面的内容是从0开始建立一个entity,并实现其存储和读取的功能。 注:这个是一种convenience方法,即快速实现。所以并
阅读全文
摘要://swift3.0在语法上有很大的改变,以简单的增删改查为例,如下: //User类如下: import Foundation import CoreData extension User { @nonobjc public class func fetchRequest() -> NSFetch
阅读全文
摘要:swift3.0 有很大变化,其中之一就是NSNotification使用跟原来不一样,以前NSNotification name是String;3.0中定义了一个类型NSNotification.name; 使用时最好定义一个NSNotification.name 常量方便使用; 直接上代码: [objc] view plain copy 在CODE上查看代码片派生到我的代码片 ...
阅读全文
摘要:写在前面 收到一些小伙伴的来信,觉得可能下边没有表达清楚,先把大家关心的要点在此进行总结,有兴趣的可以看看下边的研究过程,没兴趣的直接看这段即可。 Xcode8支持Swift2.3和Swift3.0两种语编译,但是在整个工程中只能使用一种语法。 如果想用Swift2.3版本开发,当弹出是否迁移到Sw
阅读全文
摘要:写在前面 首先和大家分享一下学习新语法的技巧:用Xcode8打开自己的Swift2.3的项目,选择Edit->Convert->To Current Swift Syntax… 让Xcode帮我们把Swift2.3的代码转换为Swift3.0。 手动调出Xcode自动转换Swift2.3 到 Swi
阅读全文
摘要:import Foundation /// final的含义保持不变 public final class FinalClass { } // 这个类在ModuleA的范围外是不能被继承的,只能被访问 public class PublicClass { public func testPublic
阅读全文
摘要:Swift3.0将会给我们带来哪些改变: ABI是什么呢?API大家都知道是应用程序接口 API只是提供函数签名 而ABI是系统和语言层面的 如果ABI稳定 意味着以后Swift版本更新升级 我们不需要再修改老版本 Swift 语言编译的库了如果你曾经从Swift 1.x 升级到 Swift 2.x
阅读全文