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類玛荞,實(shí)現(xiàn)了UIApplicationDelegate委托協(xié)議娇掏。
ViewController類繼承UIViewController類,是視圖控制器類勋眯,在工程中是根視圖和用戶事件控制類婴梧。
啟動(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開發(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開發(fā)NSBundle對(duì)象使用詳解
http://blog.csdn.net/guozh/article/details/8823674
-->NSBundle 類
-->mainBundle
-->resource bundle 和 framework
3.Button
界面與代碼分離
->可以只用代碼來(lái)描繪界面及響應(yīng)用戶操作
->但番电,不直觀,調(diào)整麻煩
->iOS的解決方案:
-->用Interface Builder 畫界面 保存到xib(xml版的nib)文件
-->用代碼更新界面辆琅、響應(yīng)用戶操作 保存在.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í),類實(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ì)象.事件 => 類實(shí)例.方法
UIButton 樣式
->類型
-->Custom媳搪。自定義類型。
-->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è)置