用于 Sketch 的 iOS 9 UIKit。 Introducing the first most accurate and most complete iOS 9 UI template.
iOS開源動畫集合
SlideMenuControllerSwift 是基于 iQON,Googl+,Ameba iPhone 應用的滑動菜單。
GGTabBar 是可定制的 UITabBar 或者 UITabBarController,替代 100% 由 Auto Layout 制作。Forget CGRects 和 frames。GGTabBar 完全由 Objective-C 編寫,但是可以在 Swift 中使用。
iOS屬性反射:說白了,就是將兩個對象的所有屬性,用動態的方式取出來,并根據屬性名,自動綁值。(注意: 對象的類,如果是派生類,就得靠其他方式來實現了,因為得到不該基類的屬性。 ) 本人常用的反射方式,有如下兩種:
com/cn/news/2015/04/ios-testing-ci Giovanni Lodi 是來自澳大利亞的一名iOS開發者,最近他 總結 了iOS平臺上單元測試、驗收測試的工具,分析了它們的優缺點,以及支持iOS App的持續集成平臺。
PSGestures 是一個讓開發者處理手勢的 iOS 庫。 PSGestures is a library for iOS. It's designed to allow the developer
這是一個完全可定制曲線圖使用Interface Builder。
來自: http://www.cocoachina.com/ios/20160217/15294.html 上一篇文章介紹了藍牙的技術知識,這里我們具體說明一下中心模式的應用場景。主設備(手機
前幾天在忙著上線,盡管之前已經上線過一次,但由于本身比較菜,還是狀況百出. 好在今天終于成功提交,因此來寫寫心得.
來自: http://www.henishuo.com/ios-app-fully-code/ 前言 iOS開發學習者都希望得到實戰訓練,但是很多資料都是只有一小部分代碼,并不能形成完成的App,
在移動互聯網時代,幾乎所有應用都需要用到網絡下載,比如圖片的加載,音樂的下載,安裝包的下載,等等,下面我們來看看如何進行下載
描述了一種字符串匹配的模式,可以用來檢查一個串是否含有某種子串、將匹配的子串做替換或者從某個串中取出符合某個條件的子串等,而在iOS 中我們多數用于檢查字符串是否符合規則 2. 常用正則表達式 (如果想自己動手寫出符合需求的正則表達式,只需了解
gq/2016/03/02/CoreLocation-Authorization-in-iOS8/ 1. CoreLocationManager 中新增的方法 iOS8在位置獲取權限上做了更細的劃分,也就是說,用戶可以選擇允
前言 之前看Layer 相關的內容時 , 也沒有太注意到這部分知識 , 最近正好用到類似的功能 , 先寫個Demo 熱熱身 . 做完后大概這么個效果 大致思路是這樣的 , 用貝塞爾曲線畫出一個蒙版 , 然后加在半透明View 的Layer層上 . //創建一個View UIView *maskView = [[UIView alloc] initWithFrame:self.view.bounds
IOS多線程編程簡介 基本概念 線程:線程是操作系統能夠進行運算調度的最小單位。它被包含在進程之中,是進程中的實際運作單位。一條線程指的是進程中一個單一順序的控制流,一個進程中可以并發多個線程,每
aggressive check。 具體到一個自定義的函數,函數會包含哪些 data 呢?細心理一理沒幾個。 - 函數入參 - 內部臨時變量 - 依賴的外部變量 - 返回的最終結果 這幾類 data
對于系統的contact 聯系簿的ViewController 如何使用,下面又一個官方的demo,大家可以拿去看看。 這個東西,找了一段時間。其實不是很難,配合自己寫的數據模型,很容易就能做出好的功能。只不過UI這塊就要差一點了。 下面是一個類的h和m文件,大家自己把他搭建好即可,不是很難的。加入到一個Navigation中即可。appdelegate自己搭下 #import <UIKit/UI
FileManager.h文件: #import <Foundation/Foundation.h> @interface FileManager : NSObject +(BOOL)fileExistsAtPath:(NSString *)path; +(NSString *)getDocumentsPath; +(BOOL)createDirectoryWithPath:(NSString *
ios 有如下三種隨機數方法: 1. srand((unsigned)time(0)); //不加這句每次產生的隨機數不變 int i = rand() % 5; 2. srandom(time(0));