Time of Update: 2017-01-18
庫命名為PSRefresh,支援UIScrollView及所有UIScrollView的子類控制項,UITableView(橫向的tableVIew)及UICollectionView等皆可。支援自訂文字,支援自訂gif圖,可設定是否為最後一頁。本文一共提供了三種樣式,分別是普通樣式、gif載入樣式(帶有狀態label)、git載入樣式(不帶有狀態label)。Demo展示如下:使用時匯入 "UIScrollView+PSRefresh.h"
Time of Update: 2017-01-18
前言網路下載是我們在項目中經常要用到的功能,如果是小檔案的下載,比如圖片和文字之類的,我們可以直接請求源地址,然後一次下載完畢。但是如果是下載較大的音頻和視頻檔案,不可能一次下載完畢,使用者可能下載一段時間,關閉程式,回家接著下載。這個時候,就需要實現斷點續傳的功能。讓使用者可以隨時暫停下載,下次開始下載,還能接著上次的下載的進度。今天我們來看看如何自己簡單的封裝一個斷點續傳的類,實現如下功能。 1.使用者只需要調用一個介面即可以下載,同時可以擷取下載的進度。
Time of Update: 2017-01-18
前言OC對象的三種拷貝方式OC的對象拷貝有如下三種方式,很多時候我們把深複製和完全複製混為一談,其他他們是有區別的,具體如下淺複製(shallow copy):在淺複製操作時,對於被複製對象的每一層都是指標複製。深複製(one-level-deep copy):在深複製操作時,對於被複製對象,至少有一層是深複製。完全複製(real-deep copy):在完全複製操作時,對於被複製對象的每一層都是對象複製。兩圖以避之理解深複製(mutableCopy)淺複製很簡單,就不示範了,看上面的圖就懂了,
Time of Update: 2017-01-18
先來看看效果圖:下面直接上代碼:粒子特效的話我只服蘋果系統的,CAEmitter粒子特效提供了非常豐富的屬性來實現各種效果(雨滴、雪花、流星),用法簡單B格高。首先建立好CAEmitterLayer粒子發射器圖層,CAEmitterCell粒子單元,然後根據需要設定somany粒子單元的屬性就OK了,最後注意要將粒子發射器圖層的layer添加到整個背景的sublayer上。@interface XMWeatherView ()@property(nonatomic,strong)
Time of Update: 2017-01-18
效果如下圖.動畫實現核心:動畫核心的是用到了iOS中UIView的transform屬性,然後根據尺寸座標組四張圖片進行平移以及縮放.具體的圖層結構如圖所示:注意點: 1.圖中只露出兩個點的手臂,是不需要裁剪的,有部分是能遮擋粉色view的.所以可以將它們與頭部圖片放在一個view中.
Time of Update: 2017-01-18
iOS應用資料存放區的常用方式 1.XML屬性列表(plist)歸檔. 2.Preference(喜好設定). 3.NSKeyedArchiver歸檔. 4.SQLite3 5.Core
Time of Update: 2017-01-18
先用一張圖展示學習iOS開發應該掌握的知識體系:1.全圖片作為背景的時候,可能遇到的問題。,滑回的時候,圖片停留了一會才滑回去。原因:
Time of Update: 2017-01-18
做iOS的朋友都知道或聽說runtime,這個東西很像java的反射機制,但功能遠勝於java的反射。通過runtime我們可以動態向一個類中添加屬性、成員變數、方法,以及對其進行讀寫訪問。一、runtime簡介RunTime簡稱運行時。OC就是運行時機制,也就是在運行時候
Time of Update: 2017-01-18
下面這種效果在ios應用中很常見:實現思路:1、建立頭部的視圖和tableview,需要注意的是tableview要設定contentInset,contentInsent 的頂部要和頭部視圖的背景圖的高度一樣,否則會有空隙(或是有遮擋)。myTableView.contentInset = UIEdgeInsetsMake(headRect.size.height-navHeight-navHeight, 0, 0,
Time of Update: 2017-01-18
WWDC(蘋果開發人員大會)剛剛過去不久,iOS 10將不久來襲,是時候升級你的iOS開發裝備了!小編整理了10款必備開發工具,讓你的開發過程事半功倍。SourceTree
Time of Update: 2017-01-18
前言斷點續傳概述斷點續傳就是從檔案上次中斷的地方開始重新下載或上傳資料,而不是從檔案開頭。(本文的斷點續傳僅涉及下載,上傳不在討論之內)當下載大檔案的時候,如果沒有實現斷點續傳功能,那麼每次出現異常或者使用者主動的暫停,都會去重頭下載,這樣很浪費時間。所以項目中要實現大檔案下載,斷點續傳功能就必不可少了。當然,斷點續傳有一種特殊的情況,就是 iOS 應用被使用者 kill 掉或者應用 crash,要實現應用重啟之後的斷點續傳。這種特殊情況是本文要解決的問題。斷點續傳原理要實現斷點續傳 ,
Time of Update: 2017-01-18
一、程式外調用系統發簡訊這個方法其實很簡單,直接調用openURL即可:NSURL *url = [NSURL URLWithString:@"sms://15888888888"];[[UIApplication sharedApplication]openURL:url];二、程式內調用系統發簡訊這種方法有一個好處就是使用者發簡訊之後還可以回到App.首先要匯入MessageUI.framework,並引入標頭檔:#import
Time of Update: 2017-01-18
1、在iOS8以前,我們實現tableview中滑動顯示刪除,置頂,更多等等的按鈕時,都需要自己去實現,在iOS8中系統已經寫好了,只要一個代理方法和一個類就行了2、iOS8的協議對了一個方法,傳回值是數組的tableview:editActionForRowAtIndexPath:方法,我們可以在方法內部寫好幾個按鈕,然後放到數組中返回,那些按鈕的類就是UITableviewRowAction3、在UITableviewRowAction類。我們可以設定按鈕的樣式,顯示文字、背景色和按鈕事件(
Time of Update: 2017-01-18
前言 應用內跳轉到 AppStore 的文章很多,一般都是用 SKStoreProductViewController 來實現的,不知道有沒有在意一個問題:開啟很慢!!怎麼忍?! 本文 一般網上的文章的代碼: func openAppStore(url: String){ if let number = url.rangeOfString("[0-9]{9}", options: NSStringCompareOptions.RegularExpressionSearch) {
Time of Update: 2017-01-18
前言 一開始還以為代碼寫的有問題,點擊事件裡面有比較耗時卡主線程的代碼,逐一刪減代碼發現並不是這麼回事。本文 和參考文章裡說的情況不完全相同,UIButton 並沒有放在 UIScrollView 或 UITableView 上,但是 ViewController 是支援滑動返回的。 ——————————————————華麗的分割線,搜尋猜測解題中—————————————————— 解決辦法:也沒什麼好辦法,換成 ImageView 加 UITapGestureRecognizer 吧,
Time of Update: 2017-01-18
前言 感覺 Spotlight 這個功能還是蠻有用的,能提升使用者活躍,增加應用內容曝光幾率。本文 一、實現(iOS 9.0) 1.1 添加索引 var searchableItems = [CSSearchableItem]() for app in apps { let searchableItemAttributeSet = CSSearchableItemAttributeSet(itemContentType:
Time of Update: 2017-01-18
一,代碼。- (void)viewDidLoad{[super viewDidLoad];// Do any additional setup after loading the view.NSString *sex=[self sexStrFromIdentityCard:@"139876456767892345"];NSLog(@"--sex--%@",sex);}//由社會安全號碼返回為性別-(NSString *)sexStrFromIdentityCard:(NSString
Time of Update: 2017-01-18
手動布局子視圖; 下面先看下效果圖,我們今天要實現的效果:這裡我們預設用storyboard啟動: 首先我們要在白色的螢幕上面建立一個父視圖SuperView(藍色的背景),在父視圖裡面建立四個小視圖(橘黃色的背景) 下面看代碼, 在SuperView.h檔案裡面:#import <UIKit/UIKit.h>@interface SuperView : UIView{ UIView * _view01; UIView * _view02; UIView * _view03;
Time of Update: 2017-01-18
首先,預先處理命令他不是一個常量!!!!我們來看一段代碼#define avatar @"60" if (false) { #define avatar @"80" }
Time of Update: 2017-01-18
先來看看效果:下面進入正題,是時候展現真正的技術了:首先在控制器裡添加一個scrollView,再在scrollView上的對應位置上添加要展示的imageView(立方體視圖組),當然也可以放上其它子控制器的view實現更多功能這個隨意不是重點//*******添加scrollView******* [self createScrollView];//******建立立方體視圖組****** [self createCubicViewArray];//添加視圖到scrollView上