1.導(dǎo)論
社區(qū)
-> Apple 官方資源
-->Mac App Store
-->Xcode
-->iOS Dev Center
-->http://developer.apple.com
->第三方
-->stackoverflow
-->ourcoders / cocoachina / v2ex
-->github
2.Hello iOS
創(chuàng)建工程
->Organization Identifier。組織標(biāo)識(shí)。一般情況下,輸入的是公司或組織的域名。
->Bundle Identifier。捆綁標(biāo)識(shí)符。由Product Name+Organization Identifier構(gòu)成。因?yàn)樵贏pp Store上發(fā)布應(yīng)用使用,命名不能重復(fù)。
App基本概念
->iOS App的代碼結(jié)構(gòu)

-->main()
-->UIApplicationMain()
-->UIApplication對(duì)象
-->UIApplicationDelegate
AppDelegate繼承UIResponder類(lèi),實(shí)現(xiàn)了UIApplicationDelegate委托協(xié)議。
ViewController類(lèi)繼承UIViewController類(lèi),是視圖控制器類(lèi),在工程中是根視圖和用戶(hù)事件控制類(lèi)。
啟動(dòng)HelloWorld,調(diào)用application:didFinishLaunchingWithOptions:方法。

->iOS App 的運(yùn)行環(huán)境
-->Sandbox
--> 運(yùn)行期目錄結(jié)構(gòu)
-NSHomeDirectory()
Bundle
關(guān)于Bundle,摘自網(wǎng)絡(luò)博客:
iOS開(kāi)發(fā)里的Bundle是個(gè)啥玩意?!
http://www.cnblogs.com/BigPolarBear/archive/2012/03/28/2421802.html
->iOS 應(yīng)用是一個(gè) Bundle
-->Bundle: 帶有Info.plist 的目錄
摘自網(wǎng)絡(luò)博客:
IOS開(kāi)發(fā)NSBundle對(duì)象使用詳解
http://blog.csdn.net/guozh/article/details/8823674
-->NSBundle 類(lèi)
-->mainBundle
-->resource bundle 和 framework
3.Button
界面與代碼分離
->可以只用代碼來(lái)描繪界面及響應(yīng)用戶(hù)操作
->但,不直觀,調(diào)整麻煩
->iOS的解決方案:
-->用Interface Builder 畫(huà)界面 保存到xib(xml版的nib)文件
-->用代碼更新界面、響應(yīng)用戶(hù)操作 保存在.m文件里
Outlet
->為了讓代碼能引用nib中的對(duì)象
-->需要代碼里有一個(gè)變量來(lái)引用界面對(duì)象
-->在界面對(duì)象創(chuàng)建后,給這個(gè)變量賦值
-->這個(gè)過(guò)程最好能自動(dòng)完成
->Outlet
-->IBOutlet標(biāo)記的變量
->Connection
Outlet Connection
-><connections> <outlet property="messageLabel" destination="Sik-hr-KEe" id="qCb-1M-czN"/> <outlet property="nameField" destination="x9C-NC-3Hg" id="L1H-Uq-oGn"/> </connections>
->存在xib里的是界面模板
->運(yùn)行時(shí),類(lèi)實(shí)例的代碼會(huì)觸發(fā)界面實(shí)例化
-->最終調(diào)用[UINib instantiateWithOwner:options];
->根據(jù)模板實(shí)例化其中的對(duì)象
->[owner -setValue:uiObj forKey:outlet.property];
Action Connection
->界面事件
-->Interface Builder,Connection Inspector
->響應(yīng)代碼
-->IBAction 標(biāo)記的方法
->關(guān)聯(lián):界面對(duì)象.事件 => 類(lèi)實(shí)例.方法
UIButton 樣式
->類(lèi)型
-->Custom。自定義類(lèi)型。
-->System。系統(tǒng)默認(rèn)屬性,該按鈕沒(méi)有邊框。
-->Detail Disclosure。細(xì)節(jié)展示按鈕,用于表視圖中的細(xì)節(jié)展示。
-->Info Light和Info Dark。信息按鈕。表示有一些信息需要顯示,或者有可以設(shè)置的內(nèi)容。
-->Add Contact。添加聯(lián)系人按鈕。
->狀態(tài)
-->Normal。默認(rèn)。
-->Highlighted。高亮。
-->Selected。選擇。
-->Disabled。不可用。
->文字與圖片F(xiàn)ont Image
->背景Background
代碼創(chuàng)建 UIButton
->創(chuàng)建
-->UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
->定制
-->[btn setBackgroundImage:[UIImage imageNamed:@"okbtn"] forState:UIControlStateNormal];
-->[btn setTitle:@"OK" forState:UIControlStateNormal];
-->[btn setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
->添加響應(yīng)
-->[btn addTarget:self action:@selector(greeting:) forControlEvents:UIControlEventTouchUpInside];
- event mask:UIControlEventTouchUpInside | UIControlEventTouchUpOutside
4.Image
管理項(xiàng)目里的圖片 Assert Catalog

UIImageView
->用 UIImageView 顯示圖片
-->.image 屬性
-->在IB里選圖片意味著
1.圖片打包在 mainBundle 里
2.系統(tǒng)自動(dòng)緩存
UIImage對(duì)象
->加載 App bundle 里的圖片
image = [UIImage imageNamed:@"picOne"]; image = [UIImage imageNamed:@"picOne" inBundle:nil compatibleWithTraitCollection:nil]; NSURL * url = [[NSBundle mainBundle] URLForResource:@"picOne" withExtension:@"png"]; UIImage * image = [UIImage imageWithContentsOfFile:url.path];
->加載文件里的圖片
UIImage * image = [UIImage imageWithContentsOfFile:path]; UIImage * image = [UIImage imageWithData:data];

矢量圖
->PDF格式的矢量圖
-->IIIustrator 或 Inkscape 導(dǎo)出PDF
-->用 Keynote
->@1x 尺寸
->在 Assert Catalog里設(shè)置
5.猜城市(需求分析)
需求分析

分析、設(shè)計(jì)
