原创 Swift語法——Swift Sequences 探究

今天看到Array 的API中有這麼一個聲明的函數: mutating func extend<S : SequenceType where T == T>(newElements: S) 函數名爲extend, 所需參數是S

原创 iOS編程——Swift實現常見的遞歸算法(爬樓梯)2

接上一篇遞歸算法博客,講一下常見的一個爬樓梯問題: 1.常見的一個簡單寫的爬樓梯問題爲:一人要爬n個臺階,一步能爬1個臺階或者2個臺階,問:爬完n個臺階一共有多少種爬法? 解析:這個人開始爬臺階時只可能有兩種爬法: 1):爬1個臺階,剩

原创 iOS編程——Swift實現冒泡排序算法 以及優化

冒泡排序大家都很瞭解了,我的理解:其實就是倒序兩兩比較,把小的數依次往前放。執行完以後,再遍歷剩下的n-1個數。其最壞情況的時間維度爲O(n²) 代碼如下: func swap<T>(inout array: [T], index

原创 iOS編程——Swift實現一個3D圓型旋轉菜單

今天在網到有人實現了一個旋轉菜單,我用CAKeyFrameAnimation(position)和CABasicAnimation(transform.scale)也做了一個,和大家分享下, 菜單支持奇數和偶數個,點擊會旋轉並縮放,圖如下

原创 iOS編程——Swift使用resizableImageWithCapInsets來拉伸圖片

在做項目的過程中,經常要用到各種尺寸的圖片。有的圖片則是長度不同,但是他們的某些區域是相同的。那有沒有什麼方法可以不用美工來切好多張圖,用一張就可以實現呢? 這樣既可以減輕美工工作量,又可以減少包得大小。 答案就是用resizableIm

原创 iOS編程——Swift實現一個3D可旋轉的立方體(可做菜單頁)

分享一個自己做的3d立方體(在瑞士航空見到過類似的這種首頁),還可以添加以下要素變得更加完善: 1)旋轉過程中每個面的透明度可以更改 2)手勢滑動結束可以添加慣性轉動動畫  效果如圖: 直接上代碼了 ,直接全粘貼到一個swift文件裏

原创 iOS編程——Swift實現多段CAShapeLayer動畫

今天看了一個例子,按照自己的思路用swift寫了一個,跟大家分享下。執行完的結果如下(剛開始不知道怎麼傳動態圖 - -!): 這個實現的效果是  每點擊一下屏幕,就會出現一段隨機顏色的圓環接着之前的圓環旋轉 實現代碼: 1.新建s

原创 iOS編程——簡單的UI自動適配解決方案:Masonry

現在比較方便常用的UI適配方案大約以下兩種了: 1.StoryBorad的話用Autolayout+SizeClass,可以適配各種屏幕尺寸和橫豎屏。 剛開始可能比較慢,熟悉了以後還是挺快的。 2.純代碼的話就是用Masonry了,除了動

原创 iOS編程——Swift實現常見的遞歸算法1

今天用swift實現了一些常見的遞歸函數,給大家分享下: 1.n的階乘,這個就不贅述了 代碼: func recursive(n: UInt) -> UInt{ if n == 0{

原创 iOS編程——Swift實現 簡單選擇排序

冒泡排序是兩兩比較不斷交換來實現排序,所以比較繁瑣。 而選擇排序  則是先選擇要交換的那個數,纔去交換。這樣就可以省去很多不必要的步驟。 代碼: func swap<T>(inout array: [T], index1: In

原创 iOS編程——Swift用代碼爲view添加各種圓角

有時候需要給view添加一個圓角,我們常用的方法是   view.layer.cornerRadius = 10.0 但是它是給view的四個角都添加了圓角。想在想辦法給view的任意一個角都可以添加圓角。 最簡單的方法就是用CASha

原创 iOS編程——通過UUID和KeyChain來代替Mac地址實現iOS設備的唯一標示(Swift 優化版)

之前草草寫了一篇OC版本的,再寫Swift版本時發現好多可以優化的地方。今天先把Swift版本的和大家共享下,稍後再發一篇OC優化版    關於KeyChain有很多的相關資料,大家去網上看看,需要注意的是: 1). kSecAttrSe

原创 iOS開發——swift實現簡單的全局鍵盤管理器

最近做一個demo,有一個需求:需要在點擊UIViewController輸入框的鍵盤上添加一個Bar,Bar上有三個按鈕,按鈕功能分別爲:跳轉到上個輸入框、跳轉到下個輸入框、隱藏鍵盤。 我稍微想了實現過程中的思路; 1、要有個獨立的單例

原创 iOS開發——如何切圖適配各種機型

關於iPhone6/6+適配問題一直有爭議,今天小編專門爲大家整理了相關的有效方案,希望對大夥兒有幫助!   移動app開發中多種設備尺寸適配問題,過去只屬於Android陣營的頭疼事兒,只是很多設計師選擇性地忽視android

原创 Swift語法—— where語句使用

類型約束中描述的類型約束確保你定義關於類型參數的需求和一泛型函數或類型有關聯。 對於關聯類型的定義需求也是非常有用的。你可以通過這樣去定義where語句作爲一個類型參數隊列的一部分。一個where語句使你能夠要求一個關聯類型遵循一個特定的