原创 iOS --- 獲取UIView的模糊效果截圖
我們常見到一些APP中對指定UIView區域進行模糊處理的效果。實現此效果,需要用到UIView截圖和UIImage的ImageEffects擴展。 添加UIView aView = [[UIView alloc] initWit
原创 iOS --- OpenGLES之着色器(shader)的編譯、鏈接及使用
在上一篇博客 iOS — OpenGLES之着色器(shader)語法介紹 中,簡要介紹了OpenGLES的着色器shader的基本語法,以及Vertex Shader和Fragment Shader的差異。本文中,將簡要介紹着色
原创 iOS --- 多線程之GCD
GCD(Grand Central Dispatch)是一套低層級的C語言API,通過GCD,可向隊列中添加一段代碼段(block或C函數指針),而不需要直接和線程打交道。GCD在後端管理着一個線程池,不僅決定着代碼塊在哪個線程中
原创 iOS --- OpenGLES之着色器(shader)語法介紹
上一篇博客 iOS — OpenGLES之初步認識 中主要介紹了OpenGLES在iOS中的簡單使用,包括創建EAGLContext,設置CAEAGLLayer屬性,使用renderbuffer和framebuffer等。這一次,
原创 iOS --- 多線程之NSOperation
NSOperation基於GCD封裝實現的,比GCD稍慢,可設定各個操作之間的依賴關係及優先級等。相對於GCD而言,NSOperation主要會涉及到使用NSOperationQueue來調度和管理各個NSOperation對象及
原创 iOS --- OpenGLES之頂點緩存對象VBO
在上一篇博客 iOS — OpenGLES之簡單的圖形繪製 中,使用OpenGLES繪製了基本的三角形和矩形。在矩形繪製過程中,使用到了VBO,即Vertex Buffer Object,可視爲GPU中的一塊緩衝區buffer,用
原创 iOS --- CoreGraphics中三種繪圖context切換方式的區別
CoreGraphics的使用過程中,經常會遇到繪圖context切換的操作,一般使用用到CGContextSaveGState/CGContextRestoreGState,UIGraphicsPushContext/UIGra
原创 iOS --- OpenGLES之初步認識
iOS上繪製圖形的方式很多,UIKit,CoreGraphics,SpriteKit,OpenGL ES,Metal等。OpenGL ES是一套非常底層但使用非常廣泛的C語言API,專爲移動設備定製,可在不同的手機系統或瀏覽器上使
原创 iOS --- 如何隱藏APP的statusBar
如果需要全局隱藏APP的statusBar,需要做到如下兩點: 1, 在APPDelegate中,設置application.statusBarHidden爲YES,即 [[UIApplication sharedApplica
原创 iOS --- 通過openURL實現APP之間跳轉並傳遞數據
在博客iOS — 通過UIApplication的openURL來實現APP之間的相互跳轉中, 介紹瞭如何實現iOS APP之間的相互跳轉, 使用的就是UIApplication的openURL:方法. 那麼, 如果想要在ope
原创 C++ --- 常見容器之vector
vector是C++標準模板庫中的部分內容,它是一個多功能的,能夠操作多種數據結構和算法的模板類和函數庫。vector之所以被認爲是一個容器,是因爲它能夠像容器一樣存放各種類型的對象,簡單地說vector是一個能夠存放任意類型的動
原创 iOS --- 使用runtime解決3D Touch導致UIImagePicker崩潰的問題
UIImagePickerController是iOS中自帶的系統相冊選擇器, 使用起來非常簡便. UIImagePickerController UIImagePickerController *imagePickerContr
原创 iOS --- 兩個NSIndexPath對象的正確比較方式
在UITableView和UICollectionView中, 經常會遇到比較兩個NSIndexPath對象是否相同的情況. 錯誤寫法 if (currentIndexPath != lastIndexPath) { //
原创 iOS --- OpenGLES之簡單的圖形繪製
在上一篇博客 iOS — OpenGLES之着色器(shader)的編譯、鏈接及使用 中,簡要介紹着色器(shader)的編譯、鏈接及使用。本文將在之前一系列OpenGLES相關博客的基礎上,使用OpenGLES繪製基本的圖形。
原创 iOS --- 根據字符串的實際大小來計算UILabel的size
根據字符串大小來計算UILabel的size 很多UILabel的使用場景下,需要根據字符串大小來計算UILabel的大小,以保證UILabel的美觀: 使用NSString的方法: - (CGSize)sizeWithFont