iOS開發進階 – 實現類似美顏相機的相機啟動動畫 – iPhone手機開發 iPhone軟體開發教學課程

最近在寫一個相冊的demo,偶爾看到瞭美拍的相機過載動畫覺得很有意思,就想在我的相冊demo中加入一個這種特效,下面把我的想法和實現過程給大傢分享一下

先上效果圖:(demo地址)

效果圖

步驟分析

這個動效看起來很有特色但是實現起來是非常簡單的,隻需要用到CALayer和CAShapeLayer做[......]

Read more

iOS開發進階 – 使用shell腳本自動打包上傳到fir.im上 – iPhone手機開發 iPhone軟體開發教學課程

用fir.im測試已經好長時間瞭,感覺每次打包上傳都很麻煩,想著是不是可以用腳本自動打包,在網上搜瞭一下確實有,下面總結一下如何使用腳本自動打包上傳到fir.im,以及打包過程中遇到的問題和解決辦法

相關資料和下載

首先是打包腳本的下載地址,這個是我找到的比較全的一個,裡面有很多不同功能的sh[……]

Read more

iOS動畫進階 – 手摸手教你寫 Slack 的 Loading 動畫 – iPhone手機開發 iPhone軟體開發教學課程

老規矩先上圖和demo地址:

這裡寫圖片描述

剛看到這個動畫的時候,腦海裡出現瞭兩個方案,一種是通過drawRect畫出來,然後配合CADisplayLink不停的繪制線的樣式;第二種是通過CAShapeLayer配合CAAnimation來實現動畫效果。再三考慮覺得使用後者,因為前者需要計算很多,比較復雜,而且[......]

Read more

iOS進階教程-Block內部修改變量 – iPhone手機開發 iPhone軟體開發教學課程

1 為什麼加瞭__block就能在內部修改變量

__block前綴,把a變量的地址傳遞過去瞭 。

我們看下實際發生瞭什麼

我們聲明一個block

實質是地址的copy

2 block存放在哪裡

block存放在程序代碼區,內存管理則分三種[
根據isa指針,block一共有3種類型的block
_NSConcreteGlobalBlock[……]

Read more

ios進階教程-如何使用RUNLOOP優化大圖加載? – iPhone手機開發 iPhone軟體開發教學課程

1 為什麼要優化大圖加載

大圖片在渲染的時候,比較耗費時間
我們利用RUNLOOP 來優化:

思路:1.每一次RUNLOOP,都隻加載一個小任物,把圖片任務放到數組,從數組循環來加載.這樣可以是項目達到流暢.
2.隻加載當前視圖內的圖片任務
3.為瞭不讓runloop休眠.我們要用一個timer區持[……]

Read more

iOS開發進階 – 用AVFoundation自定義視頻錄制功能 – iPhone手機開發 iPhone軟體開發教學課程

系統自帶的錄制視頻的功能顯然無法滿足美工和項目經理的要求,自定義視頻錄制就非常重要瞭,那麼下面來帶大傢制作屬於自己的視頻錄制界面。

效果圖

簡介

自定義視頻錄制需要用到的框架主要是AVFoundationCoreMedia,包括視頻輸出,輸入和文件的讀寫,下面給大傢羅列一下將要用到的類:

AVCa[……]

Read more

iOS進階路線以及進階書籍 – iPhone手機開發 iPhone軟體開發教學課程

第一,熟悉ARC機制:首先要瞭解ARC的前世今生;如果瞭解不清楚會導致兩種可能,1,一個對象的引用莫名奇妙為空,或失效瞭。這個一般都能在開發階段及時發現,因為會導致應用異常。2,導致內存溢出;不瞭解ARC機制很容易導致內存不能被正確釋放,這類問題會很隱蔽。若非特意去做內存測試,那麼都會在用戶使用的階[……]

Read more

JavaScript進階學習——DOM對象

JavaScript進階學習——DOM對象。

DOM對象

1、認識DOM

文檔對象模型DOM(Document Object Model)定義訪問和處理HTML文檔的標準方法。DOM 將HTML文檔呈現為帶有元素、屬性和文本的樹結構(節點樹)。

先來看看下面代碼:

這裡寫圖片描述

將HTM[……]

Read more

JavaScript精粹基礎進階(2)表達式和運算符

表達式是指能計算出值得任何可用程序單元。——Wiki
表達式是一種JS短語,可使JS解釋器用來產生一個值。——《JS權威指南》

表達式和運算符

JavaScript 表達式

表達式是指能計算出值得任何可用程序單元。——Wi[……]

Read more

JavaScript精粹基礎進階(3)語句

JavaScript程序由語句組成,語句遵守特定的語法規則。例如:if語句, while語句, with語句等等。

語句

語句、嚴格模式

JavaScript程序由語句組成,語句遵守特定的語法規則。例如:if語句, while語句, with語句等等。

語句種類

Paste_Image.png

塊 block

塊語句常用於[……]

Read more

JavaScript精粹基礎進階(4)對象

對象中包含一系列屬性,這些屬性是無序的。
每個屬性都有一個字符串key和對應的value。

對象

JavaScript 對象概述

**對象中包含一系列屬性,這些屬性是無序的。
每個屬性都有一個字符串key和對應的value。**

var obj = {x : 1, y : 2};    //[......]

Read more

(iOS開發進階) 幹貨匯總 – iPhone手機開發技術文章 iPhone軟體開發教學課程

 

10.1.3 不要向已經釋放的對象發送消息

有些讀者想測試當對象釋放時, 其retainCount 是否變為瞭0, 他們的試驗代碼如下: (記得要在Appdelegate.m 中 設置為MRC -fno-objc-arc)

- (BOOL)application:(UIAppli[......]

Read more

javascript進階——測試和打包分發

建立一個面向對象的好的代碼基礎後,為瞭達到代碼重用的目的,通過調試使用適當的測試用例進行測試尤為必要,之後就是打包分發的主題。

 

一、調試與測試

 

1、調試

 

 

Firebug:包含瞭錯誤控制臺、調試器、DOM查看器。可以很好的定位DOM結構。

Chr[……]

Read more

javascript進階——測試和打包分發

建立一個面向對象的好的代碼基礎後,為瞭達到代碼重用的目的,通過調試使用適當的測試用例進行測試尤為必要,之後就是打包分發的主題。

一、調試與測試

1、調試

Firebug:包含瞭錯誤控制臺、調試器、DOM查看器。可以很好的定位DOM結構。Chrome:擁有控制臺、DOM查看器等於Firebug幾乎[……]

Read more

javascript進階——面向對象特性

面向對象的javascript是這門語言被設計出來時就考慮的問題,熟悉OOP編程的概念後,學習不同的語言都會發現不同語言的實現是不同的,javascript的面向對象特性與其他具有面向對象特性的語言的實現的區別比較大,通過不斷編程實踐才能逐漸體會到面向對象的優點從而形成自己獨特的javascript[……]

Read more

javascript進階——分離式DOM腳本編程

編寫分離式(unobstrusive)代碼意味著對HTML內容的完全分離:數據來自服務器端,javascript代碼用來動態化和交互。這種分離的好處是在不同瀏覽器之間使用是可以完全降級或升級運行,對於高級特性瀏覽器提供更豐富的交互,不支持高級特性的瀏覽器可以降級運行其所支持的部分。

 

一[……]

Read more

javascript進階——Ajax

傳統的Web 頁面和應用中,用戶每點擊頁面上的某個部分,瀏覽器就會向服務器發出一個請求,等待服務器做出響應,然後返回一個完整新網頁,但在大多數情況下用戶不得不忍受頁面閃爍和長時間的等待。隨著Web技術的發展和用戶體驗要求的提高,異步編程是提高用戶體驗,同時僅僅修改頁面中需要修改的部分而大量減少網絡[……]

Read more

javascript進階——分離式DOM腳本編程

編寫分離式(unobstrusive)代碼意味著對HTML內容的完全分離:數據來自服務器端,javascript代碼用來動態化和交互。這種分離的好處是在不同瀏覽器之間使用是可以完全降級或升級運行,對於高級特性瀏覽器提供更豐富的交互,不支持高級特性的瀏覽器可以降級運行其所支持的部分。

一、DOM

DO[……]

Read more