最近由于项目需求,特意研究了一下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开发:带你走入不一样的世界相关推荐

  1. 001 初学android开发,从搭建环境开始(jdk+eclipse+android sdk+windows7)

    001 初学android开发,从搭建环境开始(jdk+eclipse+android sdk+windows7) 毕业就一直从事.Net开发,之后做管理,做产品设计,疏于编码. 最近打算买个小米手机 ...

  2. iOS 开发 带区号的城市三级联动(xml解析)

    iOS 开发 带区号的城市三级联动(xml解析) demo下载地址: http://download.csdn.net/detail/qq_20176153/9514906

  3. 万树IT:初学java开发用什么工具好

    今天为什么要说一下初学Java用什么工具进行编辑最好.这是因为现在很多初学Java的学生都喜欢用有提示功能的编程软件.这样虽然会更加方便和快捷,但是相对的,你的基础知识却并不是那么牢靠.本来初学者就是 ...

  4. 初学Java开发的学习路线图是什么?

    初学Java开发的学习路线图是什么?下面和小编一起来看看吧! 1.面向对象 Java是一个面向对象的开发语言,熟悉面向对象对学习Java很有必要,要了解对象,类;封装,多态,继承;抽象类,接口.如何体 ...

  5. Py之tkinter:python最简单的猜字小游戏带你进入python的GUI世界

    Py之tkinter:python最简单的猜字小游戏带你进入python的GUI世界 目录 输出结果 设计思路 输出结果 设计思路 from tkinter import * import tkint ...

  6. 初学Java开发,有哪些从业方向可以选择?

    从Java语言出现至今一直在软件开发中占据重要位置,在所有软件开发类人才的需求中,对Java工程师的需求曾达到全部需求量的50%以上.都知道Java从业工资高,从业前景好,但是学Java主要有哪几个从 ...

  7. 微信开发——带参数二维码的使用

    最近做微信PC端网页微信相关功能的开发,从一个新手的角度来说,微信公众号的文档还是不好理解的,网上找的帖子大都也都基本上是复制微信公众平台上给的文档,开发微信带参数二维码过程中还是遇到不少坑的,在此把 ...

  8. AnyPi智能浴室镜方案 智能落地镜方案 智能化妆镜方案开发 带LED

    家,是我们温暖的港湾 有一个温馨入眠的夜晚和一个清新起床的早晨, 是件多么惬意的事情... 这都离不开一个地方,那就是"洗漱间" 一开浴室门喊一声:小度小度,请开灯 宽大的镜子周边 ...

  9. 初学Java开发,这9本书值得一看

    互联网的迅速发展给IT行业提供了广阔的前景,很多IT企业为了更好的发展,不惜重金聘请软件开发人才以增强自己在市场上的竞争力.这也让IT从业人员薪资水涨船高,许多人纷纷转投Java开发行业.很多人学Ja ...

  10. 初学web开发需要掌握哪些方面?

    初学者如何学习web开发,需要掌握哪些方面?这里我写下我的一些的建议,仅供参考.高手可以飘过. 第一步:学习HTML和CSS HTML(超文本标记语言)是网页的核心,学好HTML是成为Web开发人员的 ...

最新文章

  1. python中的random模块学习
  2. 再见了,收费的 Navicat!
  3. Java学习笔记1(零碎笔记)——基础
  4. pyspider 安装 和 快速开始
  5. c语言利用线程交替打印奇偶数,两个线程交替打印奇偶数
  6. 通过url判断当前页,动态给导航加样式
  7. python 变量赋值变成元组
  8. web项目中js加载慢问题解决思路
  9. 贝叶斯集锦:贝叶斯统计基础
  10. python 去除字典列表中的重复字典
  11. 数据库中字段设计与NULL值操作
  12. bigint hive java类型_【干货】Hive常用函数大全
  13. 企业微信(WeCoom)私有化客户端Api解决方案
  14. 线代:1.7矩阵对角化二次型
  15. Quartus ii 中ROM ip核的应用
  16. android开发论坛!关于Android开发的面试经验总结,含爱奇艺,小米,腾讯,阿里
  17. python xlwt 设置表格的行高方法
  18. copilot 让AI帮你编程(人工智能自动完成)
  19. 过桥问题c语言代码大全,学而思奥数网奥数专题(行程问题)火车过桥c.pdf
  20. 你了解V神吗?先吃透这份不能更全的《以太坊攻略》再说!

热门文章

  1. 360卫士监测出APP有木马问题
  2. c语言公历转农历程序,用c如何编写 农历转换成公历
  3. Android内存管理的原理--进程管理
  4. 搭建 Python 开发环境
  5. 嵌入式系统开发笔记17:CJ/T-188 冷热量表协议解析6
  6. 互联网企业安全建设之路:互联网企业为什么要做安全?
  7. python在线编辑器可视化_海龟编辑器(Python编辑器)
  8. 科学家揭开宿醉原因:酒后身体缺水导致
  9. RMAN-20003错误
  10. 机顶盒装linux教程,一种Linux机顶盒焦点控制方法与流程