Swift

Swift iOS : 字體圖標

厭倦了使用位圖在xcode的Assets.xcassets內,由於麻煩,包括以下的麻煩: 找圖 圖須要分尺寸 須要操做員相似工做去管理 而後,如今有了字體圖標,就方便多了: 比較成熟的幾套庫,用名字就能夠查 矢量圖,尺寸無極縮放,想要多大都行 都在代碼和字體文件內,不須要在工程…

node

Swift iOS : Archive

Archive 想把對象序列化到文件,能夠首先令此對象符合 NSCoding 協議,而後使用歸檔類完成序列化。 以下案例,能夠把對象 User 序列化到文件內: import UIKit @UIApplicationMain class AppDelegate: UIResponder…

git

Swift iOS : 建立一個POD

廣告 Swift iOS開發小書 ,幫你快速上手開發 http://www.ituring.com.cn/boo... 正文 你建立了一個迷幻的View,想要向全世界共享它。怎麼辦?cocoapods能夠幫忙。 ##建立一個工程,其中有你須要分享的代碼 首先,咱們建立這樣的…

web

Swift iOS : 定製Cell

TableViewCell提供了種種定製的可能,包括textLabel,detailLabel,各類訪問附件等。可是須要死記硬背,何須呢,反正一個繼承了UITableViewCell的子類,而後在其內加入本身的定製View其實並不複雜,而且使用了一樣的加入subView的方案。因…

sql

Swift iOS : 顯示SVG文件的方法

SVG文件是矢量圖標準之一,特色是能夠縮放,而且能夠用能夠閱讀的源代碼的方式(而不是二進制)來存儲圖形信息。好比以下文件就是一個svg文件: <svg xmlns="http://www.w3.org/2000/svg&quot; viewBox="0 0 350 100"> <defs>…

數據庫

Swift iOS : 在webview的當前網頁上提取信息的方法

廣告 Swift iOS開發小書 ,幫你快速上手開發 http://epub.ituring.com.cn/946 正文 使用UIWebView裝載一個網頁後,可能須要提取其內的信息,比較好的方法是使用JavaScript。方法UIWebView.stringByEvaluati…

json

最小的Swift App

如何經過經過純粹的代碼,而不依賴於Xcode的StoryBoard,來完成一個App? 首先作些操做性的工做,具體過程是這樣的: 打開xcode 建立一個Single View App Xcode會進入主要編輯界面。此時,咱們打開AppDelegate.swift文件而後覆蓋源…

swift

Swift iOS : CocoaPods

CocoaPods是一個iOS項目的依賴管理器,使用它可讓導入第三方庫和處理依賴關係變得簡單。 出於測試和驗證的目的,這裏會建立一個Swift工程,並採用CocoaPods導入第三方HTTP庫alamofire。 準備CocoaPods CocoaPods須要系統內已經安裝了…

設計模式

Swift iOS : StackView 詳解

StackView 有不少佈局可使用橫向佈局和縱向佈局來組合完成,此種狀況下,可使用 UIStackView 來簡化建立佈局。 假設咱們想要橫向佈局 3 個標籤,標籤之間有邊距的話,能夠這樣: import UIKit @UIApplicationMain class AppDel…

api

Swift iOS : 解決了一個委託不工做的狀況

在解決一個遺產代碼的過程當中,我但願對UIAlertView稍做封裝,以便從巨大的ViewController內分離出特定的AlertView的代碼,我這樣作的: import UIKit @UIApplicationMain class AppDelegate: UIRespon…

xcode

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/boo... 正文 使用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/boo... 正文 一般給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裝入的網頁,經常有幅面比較的圖,這些圖會超出手機的寬度,所以致使顯示不完整。 好比以下案例,加入了兩個圖片,大小分別爲: 650x300 150x150在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/boo... 正文 編輯代碼時,不當心弄錯了,卻意外的發現,這樣的代碼是能夠編譯經過和運行的: @UIApplicationMain class AppDelegate: UIRespon…

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

廣告 Swift iOS開發小書 ,幫你快速上手開發 http://www.ituring.com.cn/boo... 正文 第三方庫YYText能夠完成富文本的輸入,若是須要建立相似微博@同樣的輸入UI,可使用它的YYTextView組件。具體說: 當內容中有@打頭的文…

Swift iOS : KeyChain

廣告 Swift iOS開發小書 ,幫你快速上手開發 http://www.ituring.com.cn/boo... 正文 KeyChain提供了加密存儲敏感信息的方法。所謂的敏感信息,不外是密碼,信用卡號等。若是一個對象含有敏感信息,也能夠把整個對象序列化爲Data,然…

Swift iOS : WebView緩存圖片的方法

廣告 Swift iOS開發小書 ,幫你快速上手開發 http://www.ituring.com.cn/boo... 正文 每次加載WebView內容,若是圖片能夠緩存的話,速度就會很是快。默認狀況下,WebView本身來加載圖片,緩存的策略也是本身定的。如想要本身緩存的…

Swift iOS : Core Data

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用來…

相關文章
相關標籤/搜索