UIView和NSView之间有什么区别
答案 0 :(得分:36)
UIView用于iOS(Cocoa Touch),Mac上的NSView(Cocoa)。虽然它们有许多共同之处,但它们之间存在很多差异。例如,UIView始终由CoreAnimation层支持,而NSView仅在您明确调用setWantsLayer:YES
时(并且可选地在此之前提供您自己的层)。有关更多详细信息,请参阅UIView和NSView的类引用。
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)