原创 UI進階第七發:UITabBarController簡單介紹
一、簡單介紹 UITabBarController和UINavigationController類似,UITabBarController也可以輕鬆地管理多個控制器,輕鬆完成控制器之間的切換,典型的例子就是QQ、微信等應⽤。
原创 ios線程第一發:線程簡介
線程和進程: 進程:系統中正在運行的應用程序 進程之間相互獨立,運行在專用且受保護的內存空間內 線程:線程是進程的基本執行單位,一個進程的所有任務都在線程中執行 關係:進程想執行任務,必須得有線程(每個進程
原创 UI進階第九發:iOS事件的響應者鏈條
響應者鏈條1>響應者鏈條是什麼 touches方法的默認做法是將事件順着響應者鏈條向上傳遞,將事件交給上一個響應者進行處理注意:a>事件即使傳遞給某一個View,這個View也不一定要做操作b>一個事件可以交給多個View處理2>響應者鏈
原创 UI進階第八發:Suege和Modal
Segue 是storyboard用來頁面跳轉的線 ——> UIStiryboardSegue 對象 1.三個必備屬性: 唯一標識:indetifier 來源控制器(在左邊)sourceViewController 目標控制器
原创 UI進階第六發:ios應用數據存儲方式(XML屬性列表-plist)
一、ios應用常用的數據存儲方式 1.plist(XML屬性列表歸檔) 2.偏好設置 3.NSKeydeArchiver歸檔(存儲自定義對象) 4.SQLite3(數據庫,關係型數據庫,不能直接存儲對象,要編寫一些數據庫的語句,將對象拆
原创 UI進階第二發:控制器的View的創建
一、6種創建控制器View的方式 1 #import "NJAppDelegate.h" 2 #import "NJViewController.h" 3 /* 4 1.沒有同名xib情況下 5 2.通過 storyb
原创 UI進階第三發:UIWindow簡單介紹
一、簡單介紹 UIWindow是一種特殊的UIView,通常在一個app中只會有一個UIWindow iOS程序啓動完畢後,創建的第一個視圖控件就是UIWindow,接着創建控制器的view,最後將控制器的view添加到UIWindow
原创 UI進階第九發:iOS事件產生和傳遞過程(包括底層)
<一>事件產生和傳遞: 1>事件產生傳遞過程 發生觸摸後-->UIApplition -->UIWindow(keyWindow,主窗口)-->窗口要找一個最合適的view 2>描述述事件產生傳遞過程 one:發生觸摸事件後,系統會將
原创 UI進階第九發:觸摸
IOS事件:觸摸,加速計,遠程控制 1.觸摸: 響應者對象:繼續了UIResponder的對象(UIApplication,UIViewController,UIView) 方法: 手指摸:touchesBegan 手指移動:
原创 Swift之函數
函數定義 // 有返回值參數 func pi() -> Double{ return 3.14; } func sum(v1: Int, v2: Int) -> Int{ return v1 + v2 } // 無
原创 ios線程第二發: NSThread(附錄1)
NSThread: 1.創建、啓動線程 1>手動啓動的線程(經常使用) // 線程一啓動,就會在線程thread中執行self的run方法 NSThread *thread = [[[NSThread alloc] initWithTar
原创 git使用系列
1.分支管理: 創建分支: git checkout -b dev 提交分支到遠程服務器: git push origin dev 切換分支: git checkout master 合併分支: 合併開發分支到master分
原创 xcode插件整理
插件失效解決方案: 先執行,這一步是把所有的插件都加上最新Xcode 的DVTPlugInCompatibilityUUID find ~/Library/Application\ Support/Developer/Shared
原创 Mac OS X 更新到10.11後cocoapods安裝出現的問題(- bad response Not Found 404 (http://ruby.taobao.org/latest_spe)
今天在用cocoapods安裝第三方庫時出現問題,so?怎麼用着好好就不能用了。查找原因是不是ruby需要更新,結果更新了也沒有用,那就重新安裝最新版的cocoapods來解決問題吧,結果~,報錯了...... 報錯情況
原创 分享頁面切換滾動效果
滾動橫線實現邏輯: 1.使用kvo監聽scrollView [self.scroll addObserver:self forKeyPath:@"contentOffset" options:NSKeyValueObservi