SwiftSwift : 一个无限小之App

Swift iOS : 字体图标

厌倦了以位图在xcode的Assets.xcassets内,因为累,包括如下的劳动:
找图 图要分尺寸 需要操作员类似工作去管理
然后,现在发矣字图标,就好多了: 比较成熟之几乎仿库,用名字就足以查
矢量图,尺寸无极缩放,想如果多大都行 都当代码和书文件内,不需以工程…

Swift iOS :
Archive


Archive 想管目标序列化到文件,可以率先让这目标符合 NSCoding
协议,然后用归档类完成序列化。 如下案例,可以拿目标 User
序列化到文件内: import UIKit @UIApplicationMain class AppDelegate:
UIResponder…

Swift iOS :
创建一个POD


广告 Swift iOS开发小书 ,帮您快上手开发
http://www.ituring.com.cn/book/2413
正文
你创造了一个迷幻的View,想使朝向中外共享它。怎么收拾?cocoapods可以辅助。
##创造一个工,其中起您要分享的代码 首先,我们创建这样的…

Swift iOS :
定制Cell


TableViewCell提供了种定制的或,包括textLabel,detailLabel,各种访问附件等。但是要死记硬背,何必也,反正一个后续了UITableViewCell的子类,然后于该外参加自己之定制View其实并无复杂,并且以了同的在subView的方案。因…

Swift iOS :
显示SVG文件的不二法门


SVG文件是矢量图标准有,特点是可以缩放,并且可就此得看的源代码的法(而休是二进制)来储存图形信息。比如如下文件就是一个svg文件:
<svg xmlns=”http://www.w3.org/2000/svg” viewBox=”0 0 350 100″>
<defs>…

Swift iOS :
在webview的脚下网页上取信息的方


广告 Swift iOS开发小书 ,帮您快速上手开发
http://epub.ituring.com.cn/946
正文
使用UIWebView装载一个网页后,可能要领取其外的音讯,比较好的章程是使JavaScript。方法UIWebView.stringByEvaluati…

最小的Swift
App


怎通过通过纯粹的代码,而不借助于让Xcode的StoryBoard,来好一个App?
首先做来操作性的做事,具体经过是如此的: 打开xcode 创建一个Single View
App
Xcode会进入关键编辑界面。此时,我们开拓AppDelegate.swift文件然后盖源…

Swift iOS :
CocoaPods


CocoaPods是一个iOS项目的依管理器,使用她可以吃导入第三方库和拍卖依赖关系转移得简单。
出于测试和证明的目的,这里会创一个Swift工程,并利用CocoaPods导入第三正在HTTP库alamofire。
准备CocoaPods CocoaPods需要系统内就安装了…

Swift iOS : StackView
详解


StackView
有不少搭架子好运用横向布局与纵向布局来组合形成,此种植情况下,可以使
UIStackView 来简化创建布局。 假设我们怀念要横向布局 3
个标签,标签中时有发生边距的话,可以这样: import UIKit @UIApplicationMain
class AppDel…

Swift iOS :
解决了一个委托不做事的状


在缓解一个遗产代码的历程中,我梦想对UIAlertView稍作封装,以便从英雄的ViewController内分离有一定的AlertView的代码,我这么做的:
import UIKit @UIApplicationMain class AppDelegate: UIRespon…

Swift iOS :
RichText


俺们常看到简单平实的文书显示,然后真的可透过 RichText
来形成增长文本的外观,增强界面的表达力。 UILabel 等零件,除了 text
属性外,还有 attributedText 属性,通过构建 NSAttributedString
的实例,并赋值给此属性,就可以安装 RichTex…

Swift iOS :
YYText计算文字占用高度


以动态文字填充UITableViewCell内容常常,需要计算文字占用高度,以便告知UITableViewCell的行高。使用YYText的YYTextLayout可以拉成功及时点。
如下案例,简单封装了YYTextLayout,并经过简单只案例调用,演示其的做法:
import…

Swift iOS :
CocoaPods


CocoaPods是iOS最常用最资深的框架依赖管理工具。但是使用过程为是凭空的波折的,because
I Love China。 首先你得ruby环境。 $ruby -v ruby 2.0.0p648 (2015-12-16
revision 53162) [unive…

Swift iOS :
使用Cartography布局


广告 Swift iOS开发小书 ,帮你速上手开发
http://www.ituring.com.cn/book/2413
正文
使用SnapKit布局当然对,但是我认为Cartography更好,因为好描绘起更规整的布局代码。表达式总是比打链式函数容易看。
依然是布局三…

Swift iOS
:我之当即5独月的学过程


2015年,我耶失去看了下objc,第一感觉非常不好,C语言和objc的扩充在同步,特别凌乱,当时感到:
都是函数,C的函数和objc的函数创建及运用差别十分老,并且混合在一起
objc函数带在参数标签的,函数增长的受不了
即使是第一步最为小的app,也得询问设计模式,它一样开始就上台,叫做…

Swift iOS :
本地化


当时篇稿子大概是时而可以望底极端简单易行的本地化教程。 广告 Swift
iOS开发小书 ,帮你快上手开发
http://epub.ituring.com.cn/946
目标
本地化的意思,在于iOS切换不同语言时,App可以会同改变,用指定的语言展示采用。iOS提供了同样仿照用来国际…

Swift iOS : attributedText
富文本操作


广告 Swift iOS开发小书 ,帮您快速上手开发
http://www.ituring.com.cn/book/2413
正文
通常为UILabel设置文本,我们还是装属性UILabel.text。这意味显示的文书是十足的,整个文件只能发出同样种植同等的文本效果。而除此以外一个性能…

Swift iOS :
tintColor


每当iOS
7后,UIView新增加了一个tintColor属性,这个特性表示的是“色调”,一旦设置颜色为其,那么这视图为根视图的尽视图层次组织还见面受涂改颜色。从而得以不必一一赋值就可以当视图系统内得相同的水彩体系。
如下代码当点击RUN按钮时,整个以self.view为根视…

Swift iOS:AutoLayout
快速介绍


AutoLayout
典型的,加入一个子视图的做法就是创办实例,指定位置,然后将其进入到视图里面来。在指定位置的代码处,一般就是是安装
frame 属性即可,就比如这样: import UIKit @UIApplicationMain class
AppDelegate: UIResp…

Swift
iOS:SnapKit


iOS默认提供的布局技术强大而愚蠢。幸好有一个包裹的包SnapKit,可以让布局变得好看和改。
假只要要在一个UIViewController上布局两独label,要求是:
第一单label的xy距离父视图为5,100 第二个label
的x距离第一只label为10,高度…

Swift iOS :
一个简陋的TableView封装


UITableView功能强大,但是利用delegate设计模式的DataSource真的生无好受。比如说:
一堆放冗长的函数签名 只能拷贝,错一点都没法儿实施之,也非会见唤起您无对准
冗长的函数签名是这么的: func numberOfSections(in: UITableView…

Swift_iOS:
扫描二维码的不二法门


足用AVFoundation框架来启动相机扫描二维码,把一个二维码转换为一个字符串。
如下应用,进入首页看到一个按钮和一个标签。点按钮的话语,会接触一破扫描,把围观到之次维码转换为字符串后,会显得在标签内。代码如下:
import UIKit @UIApplicationMai…

Swift iOS :
访问于签署证书https服务器


做客HTTPS服务器时,可以利用由签署证书之、在地面的https服务器,对于调试应用是好有利之。
Apple已经当iOS
9版本要求得使用https。如果https服务器是CA签署之关系,那么共同不通,如果是于签署证书,就得做少只附加的劳作:
在info.plist内参加…

Swift iOS :
内置的下拉刷新


对TableView,下拉刷新新的数目是好有益于之。iOS内置有一个下拉刷新控件UIRefreshControl,虽然未可知做上拉刷新,但是坐运用简便,倒也值得介绍。
如下代码,使用TableView加载OS列表,每次下拉,都效仿刷新一长达新的OS项目:
import UIKit @…

Swift iOS :
闭包的一个动


自家读一个开源代码的经过遭到,常常发现发生这般的组织: var textLabel:UILabel
= { let label = UILabel() label.backgroundColor = .red return label
}()功能会编译,能够运转,因此语法当然是本着之…

Swift iOS :
装入webview时,如何让图片都来得在屏幕外


webview装入的网页,常常出宽比较的希冀,这些图会超出手机的宽,因此导致显示不完全。
比如如下案例,加入了区区个图片,大小分别吗: 650×300 150×150当iPhone
SE的模拟器下,默认情况下,前一张图会在宽达盖,后同张可显得完整。
import UIKit…

Swift
iOS:KVO


KVO是Key Value
Observer的缩写,可以用来监视一个靶的属性值变化,然后实施一个代码片(块、函数、闭包等)。Facebook开源了一个KVO框架,KVOController。
这个案例用KVOController,用于App主题改变通知。通过KVO监视主题的…

Swift iOS :
剿除编译耦合的平栽办法


咱们经常会待将多只类耦合在一起以便共同完成一个或千篇一律组功能。但是同时为意味着中单独的类以据了别的近乎,当给换至里面工程被即会无法无法编译通过,更加谈不达运行了。比如如下的案例的几乎只类似即是一点一滴的粘合合在一起:
import UIKit @UIApplicationMain…

Swift iOS :
如果Cell内部生webview怎么打适应吧


Cell高度自适应的问题的确多。现在,如果内部有webView,内容动态装入,大小为是各不相同的,并且高度要依据内容,而非是view本身的冲天来适应,怎么收拾为?特别是要是起多单webView的场面下。
这样虽可了: import UIKit @UIApplicationMain…

Swift iOS :
上拉刷新或者下拉刷新


框架 MJRefresh 提供了上拉刷新或者下拉刷新,非常之迷人。 需要运用
pod: target ‘Swift-MJrefresh’ do use_frameworks! # Pods for
Swift-MJrefresh pod ‘MJRefresh’ end 记得去实施命…

Swift iOS : 解析 ISO8601
日期字符串的点子


日子时经常需要为字符串形式打包到JSON内,常用之字符串格式为ISO8601,格式卡起是这么的:
“2016-06-05T16:56:57.019+01:00″解析其的主要,是采取DateFormater的时,写好格式化字符串,内容也:
dateFormatter.date…

Swift iOS : self sized
cell


据悉Cell内的情节,动态调整Cell高度,是常用之技巧。在iOS 8
要么以上的版内,这个技术不再需要团结计算行高,而是变得简单不过。
如下案例,假而一个Cell内出星星点点只Label,其中一个单行,第二个多尽,根据第二独Label的情之差,高度为会见不同,这个惊人的变换充分,会导…

Swift iOS :
自动闭包autoclosure


一般来说为法定文档的定义,但是建议您不经意她,搞明白了活动闭包再来拘禁才好懂:)
自动闭包是同栽电动创建的闭包,用于包装传递给函数作为参数的表达式。这种闭包不接受其他参数,当它吃调
用之时节,会回来给包裹在其中的表达式的价。这种好语法让你能够省略闭包的花括号,用一个寻常的表达式
来代替…

Swift iOS :
创建一个framework


Swift支持代码按物理模块分割组织,分而治之。其中的一个做法即是当你的工中行使framework。
本文创建一个无限简易framework。 首先创建一个framework工程。步骤为:
创建工程 选择iOS | Framework & Library | Cocoa Tou…

Swift iOS :
模糊化


iOS的模糊化,会让界面很炫酷,用了不克止。本案例使了FXBlurView,对图片进行模糊处理。
使用Pod文件: target ‘five’ do use_frameworks! pod ‘FXBlurView’, ‘~>
1.6.4’ end然后推行pod install…

Swift iOS : 访问 https
服务器


使 URLSession 可以拜 https 服务器。为了测试好,省下自己编排 https
服务器的分神,可以运用一个网络服务叫做 httpbin.org/ip, 当访问子 URL
时,它见面回一个 json,格式为: {origin = “221.237.156.243”;} 访问
http…

Swift 访问
sqlite,最抢的左手案例


得利用 sqlite 作为关系数据库来存储 iOS 本地数据。这代表,通过 sql
语言方便之召开多少的增删改查。 sqlite 本身提供了 C 语言的 API,使用 Swift
访问需要 创建一个桥接文件,引入 C API,访问 SQLite 数据库需要运用 SQLite
官方提供的 C 语言风格的 API,所以…

Swift iOS :
plist


plist
plist是一个XML的子集,使用UTF-8编码的文本文件,它的根本节点是一个字典,内容由多只主键和价值构成。常常用来囤积App的配置信息。
可以直接运用NSDictionary类直接存储它们的情到plist内,比如这样: import
UIKit @UIApplica…

Swift iOS : cnodejs api
测试


cnodejs允许以它们提供的api来支付客户端。并且提供了文档。为了测试和验证api,可以下curl命令来做此事。有了这些命令集合,开发同钻研api变得尤其便于。如下就是这些可实施的文档。
发布主题: curl –data “tab=dev&title=title&con…

Swift iOS :
解析json


独立的前台后台的互动操作,几乎都是如此的: 访问后台服务API
然后分析其回到的JSON
使用Alamofire,它的扩充AlamofireObjectMapper可以拿HTTP访问获得的结果转换为json对象,使用ObjectMapper可以将json对象及swift对象做一个…

Swift iOS :
编译器的智能


广告 Swift iOS 小书
http://www.ituring.com.cn/book/2413
正文
编辑代码时,不小心将错了,却出乎意料的发现,这样的代码是足以编译通过和周转的:
@UIApplicationMain class AppDelegate: UIRespon…

Swift iOS :
YYText显示微博@文字的方法


广告 Swift iOS开发小书 ,帮你快上手开发
http://www.ituring.com.cn/book/2413
正文
第三正值库YYText可以就富文本的输入,如果要创造类似微博@一样的输入UI,可以利用其的YYTextView组件。具体说:
当内容被产生@打头的文…

Swift iOS :
KeyChain


广告 Swift iOS开发小书 ,帮您快速上手开发
http://www.ituring.com.cn/book/2413
正文
KeyChain提供了加密仓储敏感信息之点子。所谓的机智信息,不外是密码,信用卡号等。如果一个对象涵盖敏感信息,也堪把全部对象序列化为Data,然…

Swift iOS :
WebView缓存图片的计


广告 Swift iOS开发小书 ,帮您速上手开发
http://www.ituring.com.cn/book/2413
正文
每次加载WebView内容,如果图片可以缓存的话,速度就会格外快。默认情况下,WebView自己来加载图片,缓存的策略也是友好一定的。如想只要自己缓存的…

Swift iOS : Core
Data


最小的App

纯以代码(而不欲Storyboard)来创造一个iOS App是有效的。

率先做来操作性的行事:

  1. 打开Xcode
  2. 始建一个Single View
    App。安装工程向导的求一步步底召开了,其中需要特别留意的是,选择Swift语言

Xcode会进入第一编辑界面。随即打开AppDelegate.swift文件,覆盖原来的源代码为如下代码:

import UIKit
@UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDelegate {
    var window : UIWindow?
    func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
        window = UIWindow()
        window!.rootViewController = UIViewController()
        window!.rootViewController!.view.backgroundColor = .blue
        window!.makeKeyAndVisible()
        return true
    }
}

运作后意识手机(或者仿真器)满屏的蓝色背景就说明成功了。

Core Data是合法对Sqlite访问的包裹框架。使用其的利益是: 不需要协调引入Sqlite动态库和创办桥接文件 不需以SQL语言即可访问Sqlite 使用它们的重要需求是引入其,像是这么: import CoreData依然要我们的题材是储存todo项目,字段…

Swift iOS :
#selector


镇版本的Swift(小于2.2),想只要被Button一个波的言语,需要用到Selector函数,像是如此:
import UIKit @UIApplicationMain class AppDelegate: UIResponder,
UIApplicationDelegate …

Swift iOS :
扩展类的性


extension可以吗接近添加新的措施,但是如果想要补加多少成员的说话虽会为拦截,比如如下代码:
extension Foo { var _title: String? var title: String? { get { return
_title } set { _title …

Swift iOS :
根据内容调整Cell高度的法门


偶然,需要动态调整UITableView的Cell高度,比如其中生一个TextView,内容由用户决定,可长可短的事态下,肯定是期望Cell和TextView可以显示全部内容,因此也急需Cell高度为随即一块儿越强了。
如下代码,展示一个尺寸变化之TextView,当内容变更时…

Swift iOS :
NotificationCenter


恍如NotificationCenter提供了平栽轻耦合的消息传递机制。可以发起一个通知,在差不多地处监听是通知。比如说一个App的主题样式被改,就好由此此类来打招呼多独相关UI,做响应的拍卖。
如下案例显示了这种可能: import UIKit @UIApplicationMain …

Swift iOS: View
详解


View 视图类 UIView
定义了一个矩形区域,并且管理这个用户界面内之相。视图可以管理子视图,全部子视图和自视图一起,构成一个层次化的视图树。
我们成功一个案例,代码可以创建两个 50
见方的矩形,它们并消除在一块儿,并且还有第三独视图,它内置在其次单视图内。三单视图的背景色分别吗…

详解 View
Controller



UIViewController,它于誉为视图控制器,被用来装和放视图、管理视图交互、并且和另外视图控制器一起搭档完成整体的
App 界面。为了术语一致,后文会直接下它的英文名叫:View Controller。 View
Controller 管理一个视图层级体系。比如以一个…

Node.js: 一个刚好够用用之 HTTPS
服务器


突发性,需要创造一个https服务器,以便测试用。使用node.js完成此项工作还是比较简单的。另外,为了好创造https,需要openssl工具栈。
首先创建证书: openssl genrsa -out key.pem openssl req -new -key key…

git : 修正HEAD
detached状态


偶尔发现脚下代码修改的尴尬了,想使温故知新至前方几版本,多次checkout查找合适版本时,会意识时处于这样的状态;
(HEAD detached from
REVISION-ID)如果此刻举行了改,那么得使如下命令合并修改至主分支: git
branch temp git c…

Swift iOS : @escaping
属性


以闭包,有有限种状况,一栽是于调用者完成前闭包就给实施到位了。还有同栽则相反:调用函数完成了,但是闭包还尚无让调用或者尚未为得。后者被叫作逃逸闭包。
所有网络要的函数,在形成调用请求后,直到响应返回,闭包才见面被调用,所以是类型的纱要求函数内等待响应的闭包就是逃匿闭包。这…

Swift iOS :
内存管理


Swift 是全自动管理内存的。这象征,你免需积极释放内存。 比如 Foo
内包含的 Bar,可以会同 Foo 一起让放飞: import UIKit @UIApplicationMain
class AppDelegate: UIResponder, UIApplicationDele…

Swift iOS :
抽屉效果


得使DrawerController框架实现抽屉的法力。看起要蛮帅气的。
需要举行的哪怕是一个DrawerController,3只ViewController。3独ViewController分别用于左侧的斗,当前的抽屉,右侧的抽屉。DrawerController用来…

分析

尽管程序代码并无丰富,但是知识点还是于多的。一起来瞧代码。

咱俩用导入UIKit:

import UIKit

UIKit是一个框架,用来构建用户界面、响应用户交互和网事件。制作一个App,引入UIKit常常是率先桩工作。

联网下去要拘留的是@UIApplicationMain。它是一个特性标记,它的留存指明接下去的切近是通App的入口类,代码用会首先从此类开始实践。标记了@UIApplicationMain的类,应该实现协议UIApplicationDelegate。

继之查看AppDelegate类。它实现协议UIApplicationDelegate。这表示AppDelegate应该实现协议UIApplicationDelegate期望的多寡对象:

optional public var window: UIWindow? { get set }

也应有实现了这个协议中希之函数:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool 

诸如此类这个函数就吃装置也App的主次入口点了。UIKit就见面以做到App启动调用此函数,App可以在是实现自己之初始化逻辑。

于此案例被之自定义初始化逻辑是:

  1. 创办UIWindow实例并将它们与给window成员。
  2. 缔造UIViewController的实例,并将其给给window.rootViewController成员
  3. 为可视化的观看咱们的做事战果,我们设置UIViewController.view的背景色为蓝色

这样,我们得了极端核心的一个UI界面。

UIWindow代表一个Window,通常在一个App中至少会有Window,它整合了总体App的用户界面的器皿。Window并没有其它外观像,实际的可见界面由该外之View来显示。

UIView代表一个View,它们是构建界面的基本构造块,它定义了一个屏幕上之矩形区域,并且管理这个区域的情节以及用户交互。Window通过性能rootViewController.View开始波及根视图,根视图和其子视图,以及子视图的子视图一起构成层次化的视图树。UIView的运用是十分广泛的,实际上按钮(UIButton)、标签(UILabel)等控件都是视图的子类。

类AppDelegate的讳被之Delegate常常引人咋舌。Delegate是同样栽简易而强大的设计模式,可以吃内部一个目标仍指定的商委托有功效让另外一个对象。在该案例中,关于信托牵涉到了少于单近乎包括UIApplication、AppDelegate,以及一个磋商也UIApplicationDelegate,UIApplication委托事件仍协议UIApplicationDelegate,委托事件让AppDelegate。这里的信托事件反映为夫函数:

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool

当App启动成功后,UIApplication会调用此函数以便开发者可以做到好之启航工作逻辑。协议UIApplicationDelegate还有再多得兑现之风波函数,可以经过官手册了解它们的复多材料。

发表评论

电子邮件地址不会被公开。 必填项已用*标注