初学cocoa开发:带你走入不一样的世界
? ? ? ?最近由于項目需求,特意研究了一下mac端app的相關開發,一開始就想著在網上搜搜資料,后來才發現網上資料的太少了!也曾在cocoa China 那個osx 開發那個論壇上混了好久,但是效果一直不怎么好,里面看的人不少回答問題的卻沒幾個,后來在qq上搜mac開發群還真加了幾個,在群里不恥下問,到最后也慢慢學會了很多!同時肯定也有人問:那為什么不直接看官方文檔呢?唉,原諒我英語水平不怎么樣,閱讀官方文檔確實有一定的難度!最后一路心酸總算把初版的項目搞定了!接下來即將為你們介紹的是一些相關cocoa開發的相關資料:如果有更好的,一定要私聊我!十分感激!
? ? ? ? 關于網上 cocoa 相關的deom的網址:
? ? ? ? 1.國內的 ?http://www.cocoachina.com/bbs/thread.php?fid-2.html?點擊打開鏈接?上面會有一些,當然需要自己去找;
2.國外的有一個網站?https://www.cocoacontrols.com/controls? ?點擊打開鏈接?上面也會有一些,我一開始一般都會在上面找,因為上面的相關deom還是不少的,我都會把我自己覺得好的deom下載下來,然后自己研究、借鑒一下!當然了上面有些deom是不能運行的,可能由于版本或者別的原因導致,有些項目自己按照里面的操作重寫下就可以運行了;
3.最有名的一個那就是?https://github.com?點擊打開鏈接?相信很多人都用過,怎么搜索的話就需要自己去找了!
當然啦,還有一些論壇,文章也有相關的介紹是非常不錯的,大家都可以去看看,受益匪淺:
1.https://www.mgenware.com/blog/?cat=5?點擊打開鏈接? ?是劉圓圓寫的,目前在隨手記做iOS工程師
2.http://www.tanhao.me/tags/Mac/ ?點擊打開鏈接 ?是一位老譚寫的筆記
3.http://d3caifu.com/ebook/? ?點擊打開鏈接?是對Mac開發基礎教程的介紹,當然了只有部分章節,不過還是非常不錯的入門篇
當然啦,也有其它非常不錯的博客,只是覺得上面關于cocoa開發太少就沒有拿出來。當然了基礎教程的話我給大家推薦一本?蘋果開發之Cocoa編程原書第4版 ?這是鏈接地址:http://download.csdn.net/detail/u012890071/9452827?點擊打開鏈接?寫的還行,不過不是特別的全面,更多的還需要自己去研究,當然還有其它基本書,但是使用價值并不怎么樣,有時間的話可以自己搜搜看!
上面介紹的都是一些預習準備工作,接下來我會講述一些關于mac app開發需要注意的一些事項,一般從ios轉行做cocoa都需要注意的一些東西:
cocoa 開發常用的控制器為NSWindowController,而不是iOS里面的ViewController,因為mac app大多數為多窗口,而iphone app上只有一個主窗口,更多數的情況下我們是在ViewController做操作,顯示各個不同的頁面,而且UI控件大部分以UI開頭,而cocoa開發剛好相反,UI控件基本上Main.storyboard是以NS開頭,每個NSWindowController 的xib都包含一個NSWindow和一個NSView,也許有人會問我為什么不用storyboard,當然可能是我對cocoa下的storyboard不是特別的熟悉,另外一方面它確實沒有xib用起來方便,最起碼現在很多人做mac app開發時大部分都用的是xib,除了少部分的純代碼手寫除外!
cocoa開發的坐標系也與ios開發的坐標系不同,cocoa開發的坐標系的原點在XY坐標系的左下角,而ios開發的坐標系的原點是在XY坐標系的左上角開始的。當然了,你要是不習慣的話可以強制性修改它的坐標系,如:通過覆蓋視圖的isFlipped方法,強制視圖坐標系原點為左上角位置.
方法名稱為:- (BOOL)isFlipped{return YES;} 一般聲明某個控件在窗口的位置用 ?NSMakeRect(0, 0, 110, 110)或者
CGRectMake(0, 0, 110, 110) 至于兩者到底目前有什么不同,暫時沒有深入研究!在cocoa 開發中視圖本身沒有提供背景顏色,邊框,圓角等屬性。但是可以利用layer屬性來控制這些效果,使用這些屬性之前必須設置其屬性wantsLayer為YES。這一點就相對于沒有ios開發要方便的多,當然還可以通過重繪的方法來實現這些效果 ?- (void)drawRect:(NSRect)dirtyRect
在cocoa開發中一般以NSWindow為窗口,如果要實現跳轉顯示另一個窗口需要關閉當前窗口,然后顯示下一個窗口,這些內容將會在下一篇博客中揭曉,今天暫時就先這樣!本人也不怎么會總結,也沒有上面那些博客介紹的詳細,以后會盡力通過代碼去實現,向大家說明!
總結
以上是生活随笔為你收集整理的初学cocoa开发:带你走入不一样的世界的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Kong 开源的的服务网格Kuma爬过了
- 下一篇: Cocoa和Cocoa Touch框架浅