据传Mac应用程序开发与iOS应用程序开发非常相似,但当然也有很大的不同。
当我们把所有关于硬件和屏幕限制的事实放在一边时,经验丰富的iOS应用程序开发人员在开始开发Mac应用程序时必须克服的最大障碍是什么?
我听过的一些可怕的事情:
迷思1:在Mac上,坐标系是不同的。0位于左下角。感觉就像走错了路。
迷思2: NSView和UIView并不是很像。UIView总是有一个CALayer。NSView不需要。
迷思3: Mac上的表格视图比iOS上的UITableView复杂得多,也更难使用。
有人可以揭穿它们,或者添加一些其他的吗?API之间令人痛苦的差异在哪里?
发布于 2012-01-26 20:36:59
1和2是绝对正确的。3是有争议的-关于NSTableViews的一些事情更好,比如你如何使用任何对象(例如字符串,图像,数字)作为单元格值。
虽然我们在单元格的主题上,但这是另一个难题-许多NSViews具有执行实际工作的单元格属性,因此视图层次结构由单元格层次结构反映出来,这使得一切都变得更加复杂。正因为如此,文本字段才会让人感到困惑。
此外,与UILabels/UIButton相比,NSLabels/NSButton几乎不能做任何事情-没有字体设置,没有颜色设置,没有任何定制-它们基本上是无用的。
如果你使用的是Core Animation,那么它与视图的集成就很差。例如,你可以在3D模式下转换一个NSView,如果它有一个CALayer作为后盾,就像在UIKit中一样,但是如果你尝试点击它,鼠标坐标不会像视图外观一样被映射成相同的转换,所以如果你转换一个控件,它基本上变得不可点击,除非你在转换它之前点击了它在屏幕上的原始位置。
基本上,整个Mac感觉就像是iOS SDK的早期alpha版本,没有经过适当的测试,其中一些愚蠢、过于复杂的想法(单元)还没有投入生产。
</rant>
https://stackoverflow.com/questions/9018076
复制相似问题