UIView和NSView有什么区别

时间:2011-03-12 14:53:42

标签: iphone objective-c cocoa cocoa-touch

UIView和NSView之间有什么区别

4 个答案:

答案 0 :(得分:36)

UIView用于iOS(Cocoa Touch),Mac上的NSView(Cocoa)。虽然它们有许多共同之处,但它们之间存在很多差异。例如,UIView始终由CoreAnimation层支持,而NSView仅在您明确调用setWantsLayer:YES时(并且可选地在此之前提供您自己的层)。有关更多详细信息,请参阅UIViewNSView的类引用。

NSView恕我直言更复杂,由于其遗产而具有更多功能(NeXTStep的第一个版本于1988年发布,因此NSView的原始设计最迟于1988年创建)。某些功能在iOS上没有意义(例如拖放和工具提示)。 UIView是一个新的开始(最迟在2006年)并且避免了NSView的一些设计问题(例如,如前所述,它总是使用CoreAnimation支持而不是NSView支持的三种模式)。它具有不同的功能集,因为它在不同的环境中使用(请参阅多点触控支持;在NSView中没有意义)。

答案 1 :(得分:26)

另一个很大的区别是坐标系的原点在哪里。

在NSView 0,0的左下方,Y的正值正在上升。

在UIView中,0,0位于左上角,正值为Y.

答案 2 :(得分:3)

UIView在iPhone上,NSView不在。因此,NSView适用于Mac应用程序,UIView适用于iPhone应用程序。

答案 3 :(得分:1)

UIView用于Cocoa Touch(iOS设备的框架),而NSView用于Cocoa(Mac OS X)