篇一:iOS 8自定義動畫轉(zhuǎn)場上手指南
“專業(yè)、務實、高效、創(chuàng)新、把客戶的事當成自己的事”是我們每一個人一直以來堅持追求的企業(yè)文化。 成都創(chuàng)新互聯(lián)公司是您可以信賴的網(wǎng)站建設服務商、專業(yè)的互聯(lián)網(wǎng)服務提供商! 專注于網(wǎng)站設計制作、成都網(wǎng)站建設、軟件開發(fā)、設計服務業(yè)務。我們始終堅持以客戶需求為導向,結(jié)合用戶體驗與視覺傳達,提供有針對性的項目解決方案,提供專業(yè)性的建議,創(chuàng)新互聯(lián)建站將不斷地超越自我,追逐市場,引領(lǐng)市場!
iOS 5發(fā)布的時候,蘋果針對應用程序界面的設計,提出了一種全新的,革命性的方法—Storyboard,它從根本上改變了現(xiàn)有的設計理念。iOS 5之前,每個視圖控制器通常都伴有一個Interface Builder的文件,叫nib或者xib,這個想法比較簡單:每個視圖控制器的界面應該在各自的nib文件中設計,而所有的nib文件一起構(gòu)成了整個應用程序的界面。一方面,這個是很方便的,因為它強迫開發(fā)者在界面設計的時候?qū)⒆⒁饬性诮缑嫔希硪环矫妫阶詈螅嗟奈募坏貌槐粍?chuàng)建,開發(fā)者將不能概覽應用的整體界面。
隨著storyboard的產(chǎn)生,上面的這些都成為了歷史,因為這種新方法受到了開發(fā)者社區(qū)的廣泛使用。相比老的技術(shù),storyboards提供了三個重要的優(yōu)勢:
整個界面設計只發(fā)生在一個文件里。項目的總文件數(shù)量大大減少了,特別是在大項目里。當然你可以使用額外的nib文件,并且允許只創(chuàng)建輔助視圖。
開發(fā)者能即時瀏覽應用的界面和流程。 視圖控制器之間的轉(zhuǎn)換(界面設計的專業(yè)術(shù)語叫場景(scene)),以及轉(zhuǎn)換是如何發(fā)生的,在storyboard中已被完美地定義并清楚地呈現(xiàn)給了開發(fā)者。
綜上所述,場景之間的轉(zhuǎn)換構(gòu)成storyboard的特殊部分,我們一般把它叫做轉(zhuǎn)場(segue)。
轉(zhuǎn)場跟應用的導航和處理是密切相關(guān)的,因為它明確定義了一個視圖切換到另一個視圖的轉(zhuǎn)換細節(jié)。這些細節(jié)指定了是否應用動畫,動畫的類型,當然還有實際轉(zhuǎn)換時的準備和性能。除此之外,轉(zhuǎn)場也用來將傳遞數(shù)據(jù)到下一個視圖控制器里,這個用法也很常見。
從編程的角度看,場景是UIStoryboardSegue類的一個對象,它第一次在iOS 5中介紹到。和其它類的對象
不同的是,這種對象不能直接的創(chuàng)建或使用。不過你可以指定轉(zhuǎn)場的屬性,然后在轉(zhuǎn)場即將發(fā)生時提供給它以達到目的。UIKit框架提供了一些帶默認動畫過渡的預定義的轉(zhuǎn)場,包括:push segues(包括導航控制器的app),帶有動畫選擇的模態(tài)轉(zhuǎn)場(modal segues), popover segues。更高級的情況下,iOS SDK默認的轉(zhuǎn)場可能不夠用,所以開發(fā)者必須實現(xiàn)他們的自定義轉(zhuǎn)場(custom segues)。 創(chuàng)建一個自定義轉(zhuǎn)場并不難,因為它是iOS標準編程技術(shù)的組成部分。實際上你只需要生成UIStoryboardSegue的子類,并重載一個叫perform的方法即可。這個perform方法中必須實現(xiàn)自定義動畫的邏輯。從一個視圖控制器轉(zhuǎn)換到另一個以及返回操作的觸發(fā),也需要由開發(fā)者編程提供,這是一個標準的步驟。 在本教程中,我的目標是向你們展示如何實現(xiàn)自定義轉(zhuǎn)場,并通過一個簡單的演示應用介紹這個概念的所有方面。擁有創(chuàng)建自定義轉(zhuǎn)場的知識, 可以將你導
向開發(fā)更強大的app的道路。此外,對于最大化用戶體驗,并開發(fā)引人注目的漂亮應用,自定義轉(zhuǎn)場也很有幫助。 如果你有興趣學習我剛剛說的話,就一起來探索教程里的`所有細節(jié)和自定義轉(zhuǎn)場的奧秘吧。
應用程序概述不像我之前幾個教程提供了一個啟動項目,本教程我們將從頭開始創(chuàng)建app。事實上,我是故意這么做的,因為,項目中一些重要部分需要用到Interface Builder,所以我認為從頭開始按部就班的來做,能讓你看清里面的細節(jié)。
正如我先前所說,我們將開發(fā)一個非常簡單的app,在這個應用中我們將創(chuàng)建兩個自定義轉(zhuǎn)場。需要提前說明的是,我們的演示應用將有三個視圖控制器,也就是在Interface Builder中有三個場景和三個相關(guān)類。默認情況下,第一個是由Xcode創(chuàng)建的,因此我們只要再添加兩個。我們將創(chuàng)建的自定義轉(zhuǎn)場用來導航第一個視圖控制器到第二個
(以及返回),以及從第一個到第三個(以及返回)。第二個和第三個視圖控制器之間我們不添加任何聯(lián)系。
因此,我們需要創(chuàng)建兩個自定義轉(zhuǎn)場。因為要包括返回,每一個轉(zhuǎn)場需要創(chuàng)建兩個對應的類(因此,共四個):第一個類里我們將實現(xiàn)從第一個視圖控制器到另一個轉(zhuǎn)換的所有自定義邏輯。第二個類實現(xiàn)返回到第一個視圖控制器的邏輯,或者換句話說要實現(xiàn)解除轉(zhuǎn)場(unwind segue)。后面會講到解除轉(zhuǎn)場,現(xiàn)在只需要記住這就是用來讓我們返回到前一個視圖控制器的轉(zhuǎn)場。
視圖控制器本身沒什么需要做的。我們會用一個label注明視圖控制器的名稱,每一個會有一個不同的背景顏色,可以讓我們很容易地查看轉(zhuǎn)換(是的,這將是一個五顏六色的應用)。第一個和第二個視圖控制器也會多一個label,其中從其他視圖控制器傳來的自定義的消息將被顯示出來。
最后,轉(zhuǎn)場將在以下的動作發(fā)生的時候
篇二:Swift常用UIView Animation API使用
Swift常用UIView Animation API使用
本文默認讀者有基礎動畫編寫能力
參數(shù)解釋
*如解釋有誤,請指出,謝謝*
1 duration: 動畫執(zhí)行時間
2 delay:動畫延遲執(zhí)行時間
3 options:
.Repeat:動畫永遠重復的運行
.Autoreverse:動畫執(zhí)行結(jié)束后按照相反的行為繼續(xù)執(zhí)行。該屬性只能和.Repeat屬性組合使用
.CurveLinear:動畫做線性運動
.CurveEaseIn:動畫緩慢開始,然后逐漸加速
.CurveEaseOut:動畫迅速開始,在結(jié)束時減速
.CurveEaseInOut:動畫慢慢開始,然后加速,在結(jié)束之前減速.TransitionNone:沒有轉(zhuǎn)場動畫
.TransitionFlipFromTop :從頂部圍繞水平軸做翻轉(zhuǎn)動畫 .TransitionFlipFromBottom:從底部圍繞水平軸做翻轉(zhuǎn)動畫
.TransitionFlipFromLeft :從左側(cè)圍繞垂直軸做翻轉(zhuǎn)動畫
.TransitionFlipFromRight:從右側(cè)圍繞垂直軸做翻轉(zhuǎn)動畫
.TransitionCurlUp:從下往上做翻頁動畫
.TransitionCurlDown :從上往下做翻頁動畫
.TransitionCrossDissolve:視圖溶解消失顯示新視圖動畫
4 usingSpringWithDamping:彈簧阻力,取值范圍為0.0-1.0,數(shù)值越小“彈簧”振動效果越明顯。
5 initialSpringVelocity:動畫初始的速度(pt/s),數(shù)值越大初始速度越快。但要注意的是,初始速度取值較高而時間較短時,也會出現(xiàn)反彈情況。普通動畫
animateWithDuration:delay:options:animations:completion: class func animateWithDuration(_ duration: NSTimeInterval,
delay delay: NSTimeInterval,
options options: UIViewAnimationOptions,
animations animations: () - Void,
completion completion: ((Bool) - Void))
Animate changes to one or more views using the specified duration, delay, options, and completion handler.
對一個或者多個視圖按照相應參數(shù)做固定動畫(翻譯純屬個人見解,有錯請指出)
animateWithDuration:delay:usingSpringWithDamping:initialSpringVelocity:options:animations:completion:
class func animateWithDuration(_ duration: NSTimeInterval,
delay delay: NSTimeInterval,
usingSpringWithDamping dampingRatio: CGFloat,
initialSpringVelocity velocity: CGFloat,
options options: UIViewAnimationOptions,
animations animations: () - Void,
completion completion: ((Bool) - Void))
Performs a view animation using a timing curve corresponding to the motion of a physical spring.
對一個視圖按照相應參數(shù)做彈性動畫(類似于彈簧,翻譯純屬個人見解,有錯請指出)
圖片借鑒Renfei Song's Blog,只為更清楚的展示調(diào)用兩個API的不同效果
Spring Animation 和普通的動畫的運動曲線的對比:
Spring Animation, Ease-Out Animation 和 Linear Animation 的動畫效果:
轉(zhuǎn)場動畫
transitionWithView:duration:options:animations:completion: class func transitionWithView(_ view: UIView,
duration duration: NSTimeInterval,
options options: UIViewAnimationOptions,
animations animations: (() - Void),
completion completion: ((Bool) - Void))
Creates a transition animation for the specified container view.為指定的視圖構(gòu)建一個過渡動畫(翻譯純屬個人見解,有錯請指出)transitionFromView:toView:duration:options:completion:
class func transitionFromView(_ fromView: UIView,
toView toView: UIView,
duration duration: NSTimeInterval,
options options: UIViewAnimationOptions,
completion completion: ((Bool) - Void))
Creates a transition animation between the specified views using the given parameters.
在兩個給定視圖之間構(gòu)建過渡動畫(翻譯純屬個人見解,有錯請指出)
以上為UIView Animation的基礎動畫API,使用其實很簡單,就是要理解不同參數(shù)的意義。
篇三:iOS開發(fā)學習之核心動畫
核心動畫基本概念
基礎動畫(CABasicAnimation)
關(guān)鍵幀動畫(CAKeyframeAnimation)
動畫組
轉(zhuǎn)場動畫-CATransition
UIView的轉(zhuǎn)場動畫-雙視圖
一、核心動畫基本概念
1.導入QuartzCore.framework框架
開發(fā)步驟
1).初始化一個動畫對象(CAAnimation)并且設置一些動畫相關(guān)屬性
2).CALayer中很多屬性都可以通過CAAnimation實現(xiàn)動畫效果,包括:opacity、position、transform、bounds、contents等(可以在API文檔中搜索:CALayer Animatable Properties)
3).添加動畫對象到層(CALayer)中,開始執(zhí)行動畫
4).通過調(diào)用CALayer的addAnimation:forKey增加動畫到層(CALayer)中,這樣就能觸發(fā)動畫。通過調(diào)用removeAnimationForKey可以停止層中的動畫
5).Core Animation的動畫執(zhí)行過程都是后臺操作的,不會阻塞主線程
2.屬性
1).duration:動畫的持續(xù)時間
2).repeatCount:重復次數(shù)(HUGE_VALF、MAX FLOAT無限重復)
3).repeatDuration:重復時間(用的很少)
4).removedOnCompletion:默認為Yes。動畫執(zhí)行完后默認會從圖層刪除掉
5).fillMode
6).biginTime
7).timingFunction:速度控制函數(shù),控制動畫節(jié)奏
8).delegate
二、基礎動畫(CABasicAnimation)
如果只是實現(xiàn)簡單屬性變化的動畫效果,可以使用UIView的塊動畫替代基本動畫
1.屬性說明
-fromValue:keyPath相應屬性值的初始值
-toValue:keyPath相應屬性的結(jié)束值
2.動畫過程說明:
-隨著動畫的就行,在duration的持續(xù)時間內(nèi),keyPath相應的屬性值從fromValue漸漸變?yōu)閠oValue
-keyPath內(nèi)容是CALayer的可動畫Animation屬性
-如果fillMode=kCAFillModeForwards同時removedOnCompletion=NO,那么在動畫執(zhí)行完畢后,圖層會保持顯示動畫執(zhí)行后的狀態(tài),但在實質(zhì)上,圖層的屬性值還是動畫執(zhí)行前的初始值,并沒有真正改變
3.代碼實現(xiàn)
位移需要考慮目標點設定的問題
1.將動畫的所有方法封裝到一個類里面
MyCAHelper.h
#import
#import
#define kCAHelperAlphaAnimation @"opacity"; ?// 淡入淡出動畫 #define kCAHelperScaleAnimation @"transform.scale";// 比例縮放動畫
#define kCAHelperRotationAnimation @"transform.rotation";// 旋轉(zhuǎn)動畫
#define kCAHelperPositionAnimation @"position"; // 平移位置動畫
@interface MyCAHelper : NSObject
#pragma mark - 基本動畫統(tǒng)一調(diào)用方法
+ (CABasicAnimation *)myBasicAnimationWithType:(NSString *)animationTypeduration:(CFTimeInterval)duration from:(NSValue *)from
to:(NSValue *)to
autoRevereses:(BOOL)autoRevereses;
#pragma mark - 關(guān)鍵幀動畫方法
#pragma mark 搖晃動畫
+ (CAKeyframeAnimation
*)myKeyShakeAnimationWithDuration:(CFTimeInterval)duration
angle:(CGFloat)angle
repeatCount:(CGFloat)repeatCount;
#pragma mark 貝塞爾路徑動畫
+ (CAKeyframeAnimation *)myKeyPathAnimationWithDuration:(CFTimeInterval)durationpath:(UIBezierPath *)path;
#pragma mark 彈力仿真動畫
+ (CAKeyframeAnimation *)myKeyBounceAnimationFrom:(CGPoint)from
to:(CGPoint)to
duration:(CFTimeInterval)duration;
@end
MyCAHelper.m
#import "MyCAHelper.h"
@implementation MyCAHelper
#pragma mark - 基本動畫統(tǒng)一調(diào)用方法
+ (CABasicAnimation *)myBasicAnimationWithType:(NSString *)animationTypeduration:(CFTimeInterval)duration
from:(NSValue *)from
to:(NSValue *)to
autoRevereses:(BOOL)autoRevereses
{
// 1. 實例化一個CA動畫對象
CABasicAnimation *anim = [CABasicAnimation animationWithKeyPath:animationType];
// 2. 設置動畫屬性
[anim setDuration:duration];
[anim setFromValue:from];
[anim setToValue:to];
[anim setAutoreverses:autoRevereses];
return anim;
}
#pragma mark - 關(guān)鍵幀動畫方法
#pragma mark 搖晃動畫
+ (CAKeyframeAnimation
*)myKeyShakeAnimationWithDuration:(CFTimeInterval)duration
angle:(CGFloat)angle
repeatCount:(CGFloat)repeatCount
{
// 1. 初始化動畫對象實例
CAKeyframeAnimation *anim = [CAKeyframeAnimation
animationWithKeyPath:@"transform.rotation"];
// 2. 設置動畫屬性
[anim setDuration:duration];
[anim setValues:@[@(angle), @(-angle), @(angle)]];
[anim setRepeatCount:repeatCount];
return anim;
}
#pragma mark 貝塞爾路徑動畫
+ (CAKeyframeAnimation *)myKeyPathAnimationWithDuration:(CFTimeInterval)duration path:(UIBezierPath *)path
{
// 1. 初始化動畫對象實例
CAKeyframeAnimation *anim = [CAKeyframeAnimation
animationWithKeyPath:@"position"];
// 2. 設置動畫屬性
[anim setDuration:duration];
準確的說,是使用objective-c語言開發(fā)iOS應用
第一階段: RayWenderlich網(wǎng)站中的 The iOS Apprentice教程 (難度指數(shù):※)
以上有幾個答案提到了這個網(wǎng)站,但看什么教程沒有細說,我在這里簡單說說。The iOS Apprentice的教程針對完全沒有編程經(jīng)驗的人設計。這個教程是外國人寫的并且有免費試讀版,感興趣的人要看看。里面說的東西都非常非常基本,里面一個共講解了4個不同類型app,強烈建議一步一步按照上面所寫的步驟敲一遍代碼。其中你會遇到很多復雜的語句和長的可怕的函數(shù),你不用感到恐慌,照著敲,知道它干嘛用完全OK了,隨著你編程時間以及經(jīng)驗的增加,你都會懂得。
附鏈接:
注:這個教程是英文原版,并且收費,只免費提供一個app的教程。如果看完了這個免費的教程覺得還挺想繼續(xù)學的請參考 @王寒 老師的翻譯教程(只有前3個app教程,第4個教程剛出,國內(nèi)應該還沒有人翻譯,如果想看只能付費)。PS:(現(xiàn)在開發(fā)iOS應用基本都是用Objective-C,至于剛出來的Swift現(xiàn)階段暫時不推薦學習,如果想了解王寒老師也做了swift版本的The iOS Apprentice教程翻譯,自己去找)
附上王寒老師教程下載地址:
第二階段:培訓班的網(wǎng)絡課程及入門書籍
經(jīng)過第一個階段你應該已經(jīng)大致掌握IOS開發(fā)流程,能編寫一個非常簡單的應用了。這時候相信你的熱情應該會很高漲,但接下來的學習可能會很枯燥,做好準備。網(wǎng)絡課程的話推薦李明杰的課程,不推薦其他的。(他目前在廣州創(chuàng)業(yè)建立自己的培訓品牌,沒有自制力看網(wǎng)絡課程的請去找他。杰哥開源了一些非常優(yōu)秀的框架如:MJExtension )
建議首先要惡補基礎知識。經(jīng)過第一個階段你可能覺得你懂不少了,但是只是表面,尤其是沒學過編程的應該好好學習一下視頻前面的課程,主要看看語法。等你看惡心了看煩了就去看視頻里UI部分,這里相對于來說比較輕松,一定要把視頻里寫的語句打一遍,相信這樣你理解會更深刻。里面說的不清楚的地方上網(wǎng)可以百度,可以查書(如果你有書的話)。
Q:視頻教程是用來做什么的?
A:光有實踐沒有知識是寫不好程序的,第一階段基本都是實踐,第二部分則是用來查缺補漏。 之所以推薦網(wǎng)絡課程是因為講解的比較系統(tǒng),各種入門知識都會涉及。因為iOS所涉及內(nèi)容龐 大單看幾本書還是涉及不全的。
Q:上不上培訓班?
A:個人意見是不推薦去,自學足夠了。現(xiàn)在學習iOS的環(huán)境比前幾年好太多了,光憑借網(wǎng)上的資料是 完全可以的學得很好的,如果你連這點學習能力還沒有我也不相信你將來能成為一個很優(yōu)秀的工程師。而且你會發(fā)現(xiàn)在社會上一些互聯(lián)網(wǎng)公司是拒絕接收培訓班出來的人。
推薦入門書籍:
tips:以下所有書籍有英文版看英文版,有最新版看最新版
1、《Objective-C 程序設計》(難度指數(shù):※※)
2、《iOS 7應用開發(fā)入門經(jīng)典》(難度指數(shù):※※)
3、《iOS開發(fā)指南-0基礎到AppStore上架》(難度指數(shù):※※※)
4、《iOS編程實戰(zhàn)》(難度指數(shù):※※※※)
這里面講解的很清楚,后面甚至有簡單的項目可以練手,這對于看視頻教程看惡心的同學是個福音~你可以先做項目遇到不懂的再看視頻。
這里我想多說一句,買iOS開發(fā)的輔導書千萬別買過時太久的,我看以上有答案還推薦iOS4系列叢書呢...拜托現(xiàn)在都什么年代了,現(xiàn)在iOS8教程都要出來了,你iOS6的教程都過時好久了更別提iOS4了...對于新出的swift語言好多人難以選擇不知道該學OC好還是Swift好。我個人建議現(xiàn)在學OC,一門新語言的誕生需要經(jīng)過時間的考驗與洗禮。等你學好了OC以后再看也不遲。
第三階段及以后
到這個階段你應該擁有了充分的自學能力,已經(jīng)達到了入門水平。
這時候以下網(wǎng)址將成為你的家常便飯:
Github,StackOverFlow
如果你編程遇到困難,在StackOverFlow上面應該都能找到合適的解答。(前提是你英文不要太差)。Github上好多開源代碼足夠豐富你的眼界。如果你想成為一個iOS開發(fā)者的話這上面兩個網(wǎng)站是你經(jīng)常以及必須會用到的。
著作權(quán)歸作者所有。
商業(yè)轉(zhuǎn)載請聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請注明出處。
作者:Franz Fang
鏈接:
來源:知乎
不管是斯坦福大學的CS193p公開課、蘋果官方文檔、絕大多數(shù)市場上龐雜的教學書籍都不是很適合入門同學看,想入門的話應該選用學習成本最低的方法,從最最基本開始講起,并不是一味的講解語法與知識,而是一邊實踐一邊學習知識才是最好的學習方法。
并且我想告訴題主,你問的是iOS 開發(fā)怎么入門,但是你補充說明里說道的設計模式、內(nèi)存管理等內(nèi)容暫時不用你關(guān)心,等你真正iOS入門了以后在研究吧。也許我可以這么定義你的問題:
一個略懂編程的人并且完全沒有接觸過IOS開發(fā)的人想要學習IOS開發(fā)應如何學習?
--------------- 2015.5.15 更新 --------------
增加了怎么在Github上找優(yōu)質(zhì)OC項目
動畫效果推薦的教程
部分段落重新組織了語言
(一)objective-c語言開發(fā)iOS應用
為什么不讓初學者看斯坦福教程:我以為,斯坦福大學IOS公開課不適合入門的同學看,里面第一課講解的就是MVC模式。對于一個剛?cè)腴T想要學習的IOS的同學可能就完全懵了,心里想:“我特么第一課都聽不懂我后面還學個P啊”。如果以前沒接觸過面向?qū)ο蟮恼Z言學習的熱情肯定大打折扣。
為什么不讓初學者看蘋果官方文檔:我還以為,蘋果官方文檔的內(nèi)容雖然權(quán)威但example對初學者一點都不友好,而且個人認為中文譯文翻譯不是令初學者很容易理解。初學階段,教程的易理解程度我認為是非常重要的一點。(實在要看請看英文原版。)
我不否認以上兩者是極好的學習材料,如果你入門了iOS開發(fā)并且有一定的英文功底,我是非常推薦你去看的,尤其官方文檔,應該經(jīng)常翻閱。但是我認為保持學習的熱情是最重要的。本著這個理念,我推薦的學習方法難度非常低,希望你們能滿意。
第一階段: RayWenderlich網(wǎng)站中的 The iOS Apprentice教程 (難度指數(shù):※)
img src="" data-rawwidth="646" data-rawheight="560" class="origin_image zh-lightbox-thumb" width="646" data-original=""以上有幾個答案提到了這個網(wǎng)站,但看什么教程沒有細說,我在這里簡單說說。The iOS Apprentice的教程針對完全沒有編程經(jīng)驗的人設計。這個教程是外國人寫的并且有免費試讀版,感興趣的人要看看。里面說的東西都非常非常基本,里面一個共講解了4個不同類型app,強烈建議一步一步按照上面所寫的步驟敲一遍代碼。其中你會遇到很多復雜的語句和長的可怕的函數(shù),你不用感到恐慌,照著敲,知道它干嘛用完全OK了,隨著你編程時間以及經(jīng)驗的增加,你都會懂得。以上有幾個答案提到了這個網(wǎng)站,但看什么教程沒有細說,我在這里簡單說說。The iOS Apprentice的教程針對完全沒有編程經(jīng)驗的人設計。這個教程是外國人寫的并且有免費試讀版,感興趣的人要看看。里面說的東西都非常非常基本,里面一個共講解了4個不同類型app,強烈建議一步一步按照上面所寫的步驟敲一遍代碼。其中你會遇到很多復雜的語句和長的可怕的函數(shù),你不用感到恐慌,照著敲,知道它干嘛用完全OK了,隨著你編程時間以及經(jīng)驗的增加,你都會懂得。
附鏈接:
注:這個教程是英文原版,并且收費,只免費提供一個app的教程。如果看完了這個免費的教程覺得還挺想繼續(xù)學的請參考 @王寒 老師的翻譯教程(只有前3個app教程,第4個教程剛出,國內(nèi)應該還沒有人翻譯,如果想看只能付費)。PS:(現(xiàn)在開發(fā)iOS應用基本都是用Objective-C,至于剛出來的Swift現(xiàn)階段暫時不推薦學習,如果想了解王寒老師也做了swift版本的The iOS Apprentice教程翻譯,自己去找)
附上王寒老師教程下載地址:
第二階段:培訓班的網(wǎng)絡課程及入門書籍
經(jīng)過第一個階段你應該已經(jīng)大致掌握IOS開發(fā)流程,能編寫一個非常簡單的應用了。這時候相信你的熱情應該會很高漲,但接下來的學習可能會很枯燥,做好準備。網(wǎng)絡課程的話推薦李明杰的課程,不推薦其他的。(他目前在廣州創(chuàng)業(yè)建立自己的培訓品牌,沒有自制力看網(wǎng)絡課程的請去找他。杰哥開源了一些非常優(yōu)秀的框架如:MJExtension )
建議首先要惡補基礎知識。經(jīng)過第一個階段你可能覺得你懂不少了,但是只是表面,尤其是沒學過編程的應該好好學習一下視頻前面的課程,主要看看語法。等你看惡心了看煩了就去看視頻里UI部分,這里相對于來說比較輕松,一定要把視頻里寫的語句打一遍,相信這樣你理解會更深刻。里面說的不清楚的地方上網(wǎng)可以百度,可以查書(如果你有書的話)。
Q:視頻教程是用來做什么的?
A:光有實踐沒有知識是寫不好程序的,第一階段基本都是實踐,第二部分則是用來查缺補漏。 之所以推薦網(wǎng)絡課程是因為講解的比較系統(tǒng),各種入門知識都會涉及。因為iOS所涉及內(nèi)容龐 大單看幾本書還是涉及不全的。
Q:上不上培訓班?
A:個人意見是不推薦去,自學足夠了。現(xiàn)在學習iOS的環(huán)境比前幾年好太多了,光憑借網(wǎng)上的資料是 完全可以的學得很好的,如果你連這點學習能力還沒有我也不相信你將來能成為一個很優(yōu)秀的工程師。而且你會發(fā)現(xiàn)在社會上一些互聯(lián)網(wǎng)公司是拒絕接收培訓班出來的人。
推薦入門書籍:
tips:以下所有書籍有英文版看英文版,有最新版看最新版
1、《Objective-C 程序設計》(難度指數(shù):※※)
2、《iOS 7應用開發(fā)入門經(jīng)典》(難度指數(shù):※※)
3、《iOS開發(fā)指南-0基礎到AppStore上架》(難度指數(shù):※※※)
4、《iOS編程實戰(zhàn)》(難度指數(shù):※※※※)
這里面講解的很清楚,后面甚至有簡單的項目可以練手,這對于看視頻教程看惡心的同學是個福音~你可以先做項目遇到不懂的再看視頻。
這里我想多說一句,買iOS開發(fā)的輔導書千萬別買過時太久的,我看以上有答案還推薦iOS4系列叢書呢...拜托現(xiàn)在都什么年代了,現(xiàn)在iOS8教程都要出來了,你iOS6的教程都過時好久了更別提iOS4了...對于新出的swift語言好多人難以選擇不知道該學OC好還是Swift好。我個人建議現(xiàn)在學OC,一門新語言的誕生需要經(jīng)過時間的考驗與洗禮。等你學好了OC以后再看也不遲。
第三階段及以后
到這個階段你應該擁有了充分的自學能力,已經(jīng)達到了入門水平。
這時候以下網(wǎng)址將成為你的家常便飯:
Github,StackOverFlow
如果你編程遇到困難,在StackOverFlow上面應該都能找到合適的解答。(前提是你英文不要太差)。Github上好多開源代碼足夠豐富你的眼界。如果你想成為一個iOS開發(fā)者的話這上面兩個網(wǎng)站是你經(jīng)常以及必須會用到的。
Github上怎么搜牛人們的項目:
img src="" data-rawwidth="425" data-rawheight="360" class="origin_image zh-lightbox-thumb" width="425" data-original=""
想學一點UI的同學可以看:
1、iOS by Tutorials
2、design+code 網(wǎng)址:
想學一點動效/交互的同學可以看:
1、下載QuartzComposer及相關(guān)插件如Origami,教程: Quartz Composer學習
想學applewatch開發(fā)的同學可以看:
1、《watchKit》raywenderlich剛推出這個教程,英文版無譯文。
進價書單:
1、《Effective Objective-C 2.0》(必看)
2、《Objective-C高級編程 iOS與OS X多線程和內(nèi)存管理》
3、《iOS開發(fā)進階》
4、《iOS Auto Layout 開發(fā)秘籍》
推薦博客及網(wǎng)站:
1、Github:
2、StackOverFlow:
3、Code4App:
4、cocoachina:
5、objc中國:
進階博客(排名不分先后..)
1、王巍的博客(我們都叫它喵神,他很萌噠)
鏈接: (難度指數(shù):※※※※※)
理由:他的swift的新書講解的非常好,但不適合入門,進階的話這是很適合的一本書。其他關(guān)于OC的內(nèi)容可以翻看喵神的博客。
2、唐巧哥的技術(shù)博客
鏈接: iOS開發(fā)如何提高 (難度指數(shù):※※※※※)
理由:據(jù)傳說是iOS圈的劉德華。巧哥05年1月會出一本進階的書,可以關(guān)注以下。
3、葉孤城的技術(shù)博客 :
鏈接:葉孤城帶你讀源碼之RESideMenu (難度指數(shù):※※※)
理由:葉孤城童鞋的風格就是講解細膩,通俗易懂。
4、破船之家:
鏈接:beyondvincent.com 的頁面 (難度指數(shù):※※※)
理由:破船的博客內(nèi)容很全面,一些開發(fā)筆記,技巧他都會教給你。
5、Xcode Dev
鏈接: Xcode Dev (難度指數(shù):※※※※)
理由:也是一位大神的原創(chuàng)博客,內(nèi)容很值得學習。
6、txx's 的博客(我們都叫它蝦神,他也超萌噠)
鏈接: txx's blog
理由: 90后非常優(yōu)秀的iOS開發(fā)者,看看他的大學時期的經(jīng)歷才發(fā)現(xiàn)我們過的是多么懈怠,大神之所以為大神也是有原因的。
7、Kevin的博客
鏈接: Kevin Blog
理由:周楷雯是一個非常厲害的90后iOS開發(fā)者,他前些年寫的項目在Github上擁有2500+star (PNchat?忘了)非常恐怖。
8、念茜姐姐的blog
鏈接: 新博客: 舊博客:念茜的博客
理由: iOS圈里的女神級人物,她寫的iOS安全類的文章非常值得一看。
9、孫源的blog
鏈接: sunnyxx的技術(shù)博客
理由:90后iOS開發(fā)者,技術(shù)同樣非常強,目前似乎在百度知道任職。
等等...iOS圈內(nèi)值實力很強又懂得分享知識的開發(fā)者絕不止以上幾位,我隨時想到隨時再補充。
(二)swift語言開發(fā)iOS應用
這里推薦兩個入門學習比較好的方法
1、的網(wǎng)站(難度指數(shù):※)
非常淺顯易懂的入門級swift教程:
這個網(wǎng)站可以看兩方面:
(1)、隨時更新的swift tips (有一定水平在看)
(2)、新手主要看以下這本書img src="" data-rawwidth="390" data-rawheight="434" class="content_image" width="390"
2、《Swift Tutorials》 依然是raywenderlich出品,目前只有英文版。(難度指數(shù):※)
3、官方swift譯文教程 《The Swift Programming Language》中文版 (難度指數(shù):※※)
4、上文提到的王巍的博客(喵神)《Swifter - 100 個 Swift 必備 tips》(難度指數(shù):※※※※)
喵神的這本書網(wǎng)上就有售賣,請支持正版,絕對是不可多得的進價書籍,此書并非傳統(tǒng)意義上的教程,是以tip的方式呈獻給大家的。
分享題目:ios8開發(fā)指南,ios8最新功能
轉(zhuǎn)載源于:http://chinadenli.net/article46/dsisshg.html
成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站建設、響應式網(wǎng)站、網(wǎng)站營銷、網(wǎng)站策劃、App設計、搜索引擎優(yōu)化
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)