一、介紹有的博友看了上篇博文 iOS界面-仿網易新聞左側抽屜式交互 ,在微博裏問,網易新聞裏的內容和評論的拖拽如何實現,上面的UINavigation如何嵌進去。可能很多人有這樣的需求,如今花了些時間把這兩個效果作一下,和你們分享交流。思路和上篇基本差很少,可是沒有用到UINavigation,其實在我看來上面的返回、評論按鈕都是能夠經過addsubview添加的。內容頁和評論頁的手勢交互 實現的...html
一、介紹 用過網易新聞客戶端的同窗都會發現,網易新聞向左滑動時,左側的導航欄會跟着拖動出來,新聞內容列表會拉到最右側。像一個抽屜拉出來同樣。很酷。除了網易新聞,如今好多應用都採用了這樣的交互。對手勢識別不熟悉的請參考上篇: iOS手勢識別的詳細使用(拖動,縮放,旋轉,點擊,手勢依賴,自定義手勢)這個交互效果主要用到兩個手勢,一個是pan拖拽,一個是tap點擊。拖拽能夠把抽屜拉出來,再推回去。...java
一、UIGestureRecognizer介紹 手勢識別在iOS上很是重要,手勢操做移動設備的重要特徵,極大的增長了移動設備使用便捷性。iOS系統在3.2之後,爲方便開發這使用一些經常使用的手勢,提供了UIGestureRecognizer類。手勢識別UIGestureRecognizer類是個抽象類,下面的子類是具體的手勢,開發這能夠直接使用這些手勢識別。UITapGestureRecognizer...ios
前面介紹了Core Animation基礎知識,還有CALayer的簡單使用,最終仍是有要動畫的滴,這裏列出幾個動畫效果,參考下能加深對Core Animation的認識和理解一、把圖片移到右下角變小透明使用CAAnimationGroup疊加動畫效果,就是下面按鈕《把圖片移到右下角變小透明》描述的效果: 、上面三個圖是動畫的三個狀態,實現代碼以下:- (void)viewDidLoad...編程
上篇Core Animation之基礎介紹提到CALayer的重要性,那我們就試試CALayer如何使用。一、什麼是CALayerCALayer是個簡單的類,它是用來在屏幕上顯示內容展現的矩形區域。 靠,這是不描述UIView的話嗎?其實他們是有區別的。每一個UIView都有一個根CALayer,UIView在這個layer上描繪東西。那怎麼訪問這個layer呢,很簡單:CALayer *myLay...api
Core Animation能夠翻譯爲核心動畫,它爲圖形渲染和動畫提供了基礎。使用核心動畫,你只須要設置一些參數好比起點和終點,剩下的幀核心動畫爲你自動完成。核心動畫使用硬件加速,不用消耗cpu資源。其實平時我們開發的iOS應用都在有意無心的使用了核心動畫。動畫不會替代View,而是和View一塊兒提供更好的性能。Core Animation經過緩存view上的內容到bitmap,這樣bitmap就...xcode
動畫效果提供了狀態或頁面轉換時流暢的用戶體驗,在iOS系統中,我們不須要本身編寫繪製動畫的代碼,Core Animation提供了豐富的api來實現你須要的動畫效果。 UIKit只用UIView來展現動畫,動畫支持UIView下面的這些屬性改變:frame bounds center transform alpha backgroundColor contentStretch一、co...緩存
單例模式在iOS開發過程當中常常用到,蘋果提供過objective c單例的比較官方的寫法:static MyGizmoClass *sharedGizmoManager = nil; + (MyGizmoClass*)sharedManager { @synchronized(self) { if (sharedGizmoManager == nil) {...網絡
雖然iOS 5.0版本以後加入了ARC機制,因爲相互引用關係比較複雜時,內存泄露仍是可能存在。因此瞭解原理很重要。這裏講述在沒有ARC的狀況下,如何使用Instruments來查找程序中的內存泄露,以及NSZombieEnabled設置的使用。本文假設你已經比較熟悉Obj-C的內存管理機制。實驗的開發環境:XCode 4.5.2一、運行Demo。先下載一個實現準備好的內存泄露的Demo吧:leak...多線程
接上一篇 Cocoa 框架總結For iOS(一) ,繼續總結Cocoa對象一、Cocoa對象的建立咱們都知道建立一個對象有兩步:alloc 和 init(對象分配和初始化),兩步缺一不可。初始化通常都是緊接着對象分配的後面進行,可是這兩個操做的做用是徹底不一樣的。分配對象:就是Cocoa從應用程序的虛擬內存中爲對象分配一塊內存。Cocoa會根據對象的實例變量(類型和變量的排列順序)計算內存大小...app
Cocoa框架是iOS應用程序的基礎,瞭解Cocoa框架,對開發iOS應用有很大的幫助。一、Cocoa是什麼?Cocoa是OS X和 iOS操做系統的程序的運行環境。是什麼因素使一個程序成爲Cocoa程序呢?不是編程語言,由於在Cocoa開發中你可使用各類語言;也不是開發工具,你能夠在命令行上就能夠建立Cocoa程序。Cocoa程序能夠這麼說,它是由一些對象組成,而這些對象的類最後都是繼承於它們...
iOS的應用程序的生命週期,還有程序是運行在前臺仍是後臺,應用程序各個狀態的變換,這些對於開發者來講都是很重要的。 iOS系統的資源是有限的,應用程序在前臺和在後臺的狀態是不同的。在後臺時,程序會受到系統的不少限制,這樣能夠提升電池的使用和用戶體驗。//開發app,咱們要遵循apple公司的一些指導原則,原則以下:一、應用程序的狀態狀態以下:Not running 未運行 程序沒啓動Inac...
介紹:Grand Central Dispatch 簡稱(GCD)是蘋果公司開發的技術,以優化的應用程序支持多核心處理器和其餘的對稱多處理系統的系統。這創建在任務並行執行的線程池模式的基礎上的。它首次發佈在Mac OS X 10.6 ,iOS 4及以上也可用。設計:GCD的工做原理是:讓程序平行排隊的特定任務,根據可用的處理資源,安排他們在任何可用的處理器核心上執行任務。一個任務能夠是一個函數(f...
前一篇 《iOS多線程編程之NSThread的使用》介紹三種多線程編程和NSThread的使用,這篇介紹NSOperation的使用。使用 NSOperation的方式有兩種,一種是用定義好的兩個子類:NSInvocationOperation 和 NSBlockOperation。另外一種是繼承NSOperation若是你也熟悉Java,NSOperation就和java.lang.Runnabl...
一、簡介:1.1 iOS有三種多線程編程的技術,分別是:1.、NSThread 二、Cocoa NSOperation (iOS多線程編程之NSOperation和NSOperationQueue的使用)三、GCD 全稱:Grand Central Dispatch( iOS多線程編程之Grand Central Dispatch(GCD)介紹和使用)這三種編程方式從上到下,抽象度層次是從低到高...