swift

最新文章

Swift 3自定义UIButton子类设置按钮圆角和阴影

定义UIButton的子类CustomButton,在CustomButton设置按钮的圆角和阴影。Swift 3import UIKitclass CustomButton: UIButton { var shadowLayer: CAShapeLayer! override func layoutSubviews() { super.layoutSubviews()

Swift 3从异步调用返回数据

是不能直接在异步调用返回数据,一种替代的方案是向异步调用的函数里传入回调函数,当异步任务完成后,使用回调函数处理结果。Swift 3示例:class func getData(completionHandler: @escaping (data: NSArray) -> ()) {...let task = session.dataTask(with:url) { data, resp

Swift 3/4获取AppDelegate实例的引用

Swift 3/4获取AppDelegate实例:func appDelegate() -> AppDelegate{ return UIApplication.shared.delegate as! AppDelegate}对于Swift < 3func appDelegate() -> AppDelegate{ return UIApplication.share

Swift更改UITabBarItem的字体

主要是使用UItabBarItem的attribute keys来设置字体:Swift 4UITabBarItem.appearance()     .setTitleTextAttributes(         [NSAttributedStringKey

Swift 3 iOS弹出键盘时让文本输入框往上移动

在iOS点击输入框时,为了避免输入框被键盘覆盖,可以让输入框所在的控件往上移动。Swift 3代码示例func animateTextField(textField: UITextField, up: Bool)     {        

Swift禁止UITableView选中高亮

禁止UITableView选中高亮,可以对UITableViewCell实例设置样式:Swift 2cell.selectionStyle = UITableViewCellSelectionStyle.None Swift 3cell.selectionStyle = .none

Swift 3/4缩放UIImage的方法

给UIImage添加extension(兼容Swift3 和Swift 4)extension UIImage {     func scaled(withSize size: CGSize) -> UIImage {   &nbs

Swift修改UISearchBar上取消按钮文本的颜色

Swift 2,3,4在语法上少有不同,以下是各个Swift版本修改取消按钮文本颜色的代码片段Swift 4.0let cancelButtonAttributes = [NSAttributedStringKey.foregroundColor: UIColor.white]  UIBarButtonItem.appearan

查看项目使用Swift的版本

使用xcode创建swift项目,你需要知道在项目中正在使用的swift版本。使用终端查看:swift -version 比较稳妥的方法是在xcode上查看,因为每个项目可能设定的swift 版本不一样。按路径打开:Project -> 选择项目的target -> Build Settings ->

[译]iOS开发可复用框架入门(实例)

当你编写一个iOS应用程序时,你通常会什么都不想就导入Foundation或UIKit框架。 如果要使用字符串,日期,文件系统或线程,可以导入Foundation。如果要使用UITableViewController或UIAlertController,则可以导入UIKit。 如果你导入了UIKit,那么可以完全忽略Foundation,因为UIKit在后台会导入它。关键是这些

Swift 4转换html为字符串文本

Swift 4可以添加extension来把html转换为字符串。String添加扩展extension String {     var html2AttributedString: NSAttributedString? {       

Swift 4:KeyPath

Swift 4对KeyPath做了很大的改进。改进后的为类型安全的KeyPath。Swift 2的KeyPath示例class Person: NSObject {   var name: String = ""   init(name: 

Swift 4 Codable协议 - 基本用法

Swift 4新增了Codable协议,它是一个组合协议,包含Encodable和Decodable两个协议。代码定义如下:/// A type that can convert itself into and out of an external repre

Swift 4的KVO(Key Value Observation)用法

KVO 是 Objective-C 对观察者模式的实现。当被观察对象的某个属性发生更改时,观察者对象会获得通知。KVO实现依赖于Objective-C的Runtime,所以Swift需要使用@objc暴露api给Objective C。Swift目前没有内置原生实现的值观察系统,Swift 4的KVO使用dynamic属性来实现。被观察的类clas

[译]Swift 4 解析JSON最终指南

Swift 4和Foundation终于回答了如何用Swift来解析JSON的问题。目前已经有了许多优秀的库,但是看到一个全支持的解决方案是非常令人耳目一新的,它不仅易于使用且也提供了对复杂场景进行编码和解码所需的定制。值得注意的是,这里讨论的所有内容都适用于所有Encoder/Decoder实现,例如包括PropertyListEncoder。 如果你需要类似XML这样不同的

使用Swift 3/Swift 4扫描二维码

iOS的AVFoundation内置了对二维码和条形码扫描的支持。使用AVFoundation扫描二维码的功能需要几件事:创建AVCaptureSession,用于捕获二维码创建预览捕获二维码成功后,委派回调来处理二维码的meta信息下面的例子是基于UIViewController开发的扫描二维码Controller,使用AVCaptureMetadataOutputObjectsDelegate

Swift 4使用切片下标分割字符串

Swift 3在Swift 3,使用substring()函数分割字符串let str = "1234,5678"  let index = str.index(of: ",")! let newStr = str.substring(fr

[译]Swift 4字符串的更新

又一年过去了,Swift String API又做了一些更改。Swift 4对String带来了一些很需要的改进以及简化。这些是我写的笔记,它记录了我的Swift字符串小抄关于Swift4需要做的改动。你可以在这里找到原来的和现在更新的指南以及Xcode playground:Swift String Cheat SheetXc