从iOS应用程序开发切换到Mac应用程序开发时,要克服的最大障碍是什么?

时间:2012-01-26 12:26:47

标签: iphone ios macos ipad osx-lion

传言Mac应用程序开发与iOS应用程序开发非常相似,但当然存在很大差异。

当我们把关于硬件和屏幕限制的所有事实放在一边时,iOS应用程序开发人员在开始使用Mac应用程序开发时必须克服的最大障碍是什么?

我听过的一些可怕的事情:

误区1:在Mac上,坐标系不同。 0位于左下角。感觉就像在街道的错误一侧开车。

神话2:NSView并不像UIView。 UIView总是有一个CALayer。 NSView没有。

神话3:Mac上的表格视图比iOS上的UITableView复杂得多,难以使用。

有人可以揭穿他们,还是添加其他人? API的痛苦差异在哪里?

1 个答案:

答案 0 :(得分:3)

1和2绝对正确。 3是值得商榷的 - 有关NSTableViews的一些东西更好,例如如何使用任何对象(例如字符串,图像,数字)作为单元格值。

虽然我们讨论的是细胞问题,但这又是另一种痛苦 - 许多NSView都具有可以完成实际工作的细胞属性,因此视图层次结构由细胞层次结构反映,使一切变得更加复杂。由于这个原因,文本字段确实令人困惑。

此外,与UILabels / UIButton相比,NSLabels / NSButton几乎无法做任何事情 - 没有字体设置,没有颜色设置,根本没有自定义 - 它们基本上没用。

如果您使用Core Animation,它与视图的集成很差。因此,例如,如果它由CALayer支持,您可以在3D中转换NSView,就像在UIKit中一样,但是如果您尝试单击它,则鼠标坐标不会通过与视图外观相同的转换进行映射,因此如果你转换一个控件,它基本上变得不可点击,除非你在转换它之前点击它最初在屏幕上的位置。

基本上整个Mac OS SDK感觉就像它是iOS SDK的早期alpha版本,尚未经过正确测试,而且还有一些愚蠢,过于复杂的想法(单元格)没有投入生产尚未被取出。

</rant>