初学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开发:带你走入不一样的世界相关推荐
- 001 初学android开发,从搭建环境开始(jdk+eclipse+android sdk+windows7)
001 初学android开发,从搭建环境开始(jdk+eclipse+android sdk+windows7) 毕业就一直从事.Net开发,之后做管理,做产品设计,疏于编码. 最近打算买个小米手机 ...
- iOS 开发 带区号的城市三级联动(xml解析)
iOS 开发 带区号的城市三级联动(xml解析) demo下载地址: http://download.csdn.net/detail/qq_20176153/9514906
- 万树IT:初学java开发用什么工具好
今天为什么要说一下初学Java用什么工具进行编辑最好.这是因为现在很多初学Java的学生都喜欢用有提示功能的编程软件.这样虽然会更加方便和快捷,但是相对的,你的基础知识却并不是那么牢靠.本来初学者就是 ...
- 初学Java开发的学习路线图是什么?
初学Java开发的学习路线图是什么?下面和小编一起来看看吧! 1.面向对象 Java是一个面向对象的开发语言,熟悉面向对象对学习Java很有必要,要了解对象,类;封装,多态,继承;抽象类,接口.如何体 ...
- Py之tkinter:python最简单的猜字小游戏带你进入python的GUI世界
Py之tkinter:python最简单的猜字小游戏带你进入python的GUI世界 目录 输出结果 设计思路 输出结果 设计思路 from tkinter import * import tkint ...
- 初学Java开发,有哪些从业方向可以选择?
从Java语言出现至今一直在软件开发中占据重要位置,在所有软件开发类人才的需求中,对Java工程师的需求曾达到全部需求量的50%以上.都知道Java从业工资高,从业前景好,但是学Java主要有哪几个从 ...
- 微信开发——带参数二维码的使用
最近做微信PC端网页微信相关功能的开发,从一个新手的角度来说,微信公众号的文档还是不好理解的,网上找的帖子大都也都基本上是复制微信公众平台上给的文档,开发微信带参数二维码过程中还是遇到不少坑的,在此把 ...
- AnyPi智能浴室镜方案 智能落地镜方案 智能化妆镜方案开发 带LED
家,是我们温暖的港湾 有一个温馨入眠的夜晚和一个清新起床的早晨, 是件多么惬意的事情... 这都离不开一个地方,那就是"洗漱间" 一开浴室门喊一声:小度小度,请开灯 宽大的镜子周边 ...
- 初学Java开发,这9本书值得一看
互联网的迅速发展给IT行业提供了广阔的前景,很多IT企业为了更好的发展,不惜重金聘请软件开发人才以增强自己在市场上的竞争力.这也让IT从业人员薪资水涨船高,许多人纷纷转投Java开发行业.很多人学Ja ...
- 初学web开发需要掌握哪些方面?
初学者如何学习web开发,需要掌握哪些方面?这里我写下我的一些的建议,仅供参考.高手可以飘过. 第一步:学习HTML和CSS HTML(超文本标记语言)是网页的核心,学好HTML是成为Web开发人员的 ...
最新文章
- python中的random模块学习
- 再见了,收费的 Navicat!
- Java学习笔记1(零碎笔记)——基础
- pyspider 安装 和 快速开始
- c语言利用线程交替打印奇偶数,两个线程交替打印奇偶数
- 通过url判断当前页,动态给导航加样式
- python 变量赋值变成元组
- web项目中js加载慢问题解决思路
- 贝叶斯集锦:贝叶斯统计基础
- python 去除字典列表中的重复字典
- 数据库中字段设计与NULL值操作
- bigint hive java类型_【干货】Hive常用函数大全
- 企业微信(WeCoom)私有化客户端Api解决方案
- 线代:1.7矩阵对角化二次型
- Quartus ii 中ROM ip核的应用
- android开发论坛!关于Android开发的面试经验总结,含爱奇艺,小米,腾讯,阿里
- python xlwt 设置表格的行高方法
- copilot 让AI帮你编程(人工智能自动完成)
- 过桥问题c语言代码大全,学而思奥数网奥数专题(行程问题)火车过桥c.pdf
- 你了解V神吗?先吃透这份不能更全的《以太坊攻略》再说!