в чем разница между UIView и NSView - PullRequest
18 голосов
/ 12 марта 2011

в чем разница между UIView и NSView

Ответы [ 4 ]

36 голосов
/ 12 марта 2011

UIView используется на iOS (Cocoa Touch), NSView на Mac (Cocoa). Хотя у них много общего, под капотом много различий. Например, UIView всегда поддерживается слоем CoreAnimation, в то время как NSView - только если вы явно вызываете setWantsLayer:YES (и дополнительно можете предоставить свой собственный слой до этого). Для получения дополнительной информации обратитесь к ссылкам на классы для UIView и NSView .

NSView, на мой взгляд, более сложный и имеет больше возможностей благодаря своему наследию (первая версия NeXTStep была выпущена в 1988 году, поэтому оригинальный дизайн NSView был создан не позднее 1988 года). Некоторые функции не имеют смысла в iOS (например, перетаскивание и всплывающие подсказки). UIView был новым стартом (не позднее 2006 года) и позволил избежать некоторых проблем проектирования NSView (например, как упоминалось ранее, он всегда использует поддержку CoreAnimation вместо трех режимов, которые поддерживает NSView). Он имеет другой набор функций также потому, что он используется в другой среде (см. Поддержку мультитач; не имеет смысла в NSView).

26 голосов
/ 11 июля 2011

Еще одно большое отличие состоит в том, где находится система координат.

В NSView 0,0 слева внизу с положительными значениями Y, идущими вверх.

В UIView 0,0 слева вверху с положительными значениями Y, идущими вниз.

3 голосов
/ 12 марта 2011

UIView есть на iPhone, NSView нет. Следовательно, NSView для приложений Mac, UIView для приложений iPhone.

1 голос
/ 12 марта 2011

UIView используется для Cocoa Touch (Framework для устройств iOS), тогда как NSView используется для Cocoa (Mac OS X)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...