какая разница между UIView и NSView
В чем разница между UIView и NSView
Ответ 1
UIView используется в iOS (Cocoa Touch), NSView на Mac (Cocoa). Хотя у них много общего, под капотом существует много различий. Например, UIView всегда поддерживается слоем CoreAnimation, а NSView - только если вы явно вызываете setWantsLayer:YES
(и необязательно предоставляете свой собственный слой до этого). Для получения дополнительной информации см. Ссылки на классы для UIView и NSView.
NSView более сложна и имеет больше возможностей благодаря своему наследию (первая версия NeXTStep была выпущена в 1988 году, поэтому оригинальный дизайн NSView был создан не позднее 1988 года). Некоторые функции не имеют смысла в iOS (например, drag & drop и tooltips). UIView был новым началом (в 2006 году не последним) и избежал некоторых проблем проектирования NSView (например, как упоминалось ранее, он всегда использует поддержку CoreAnimation вместо трех режимов, поддерживаемых NSView). У него есть другой набор функций, так как его использование в другой среде (см. Поддержка мультитач, не имеет смысла в NSView).
Ответ 2
Еще одно большое различие заключается в том, где происхождение системы координат.
В NSView 0,0 находится в левом нижнем углу с положительными значениями Y.
В UIView 0,0 находится в левом верхнем углу с положительными значениями Y, идущими вниз.
Ответ 3
UIView находится на iPhone, NSView - нет. Следовательно, NSView предназначен для приложений Mac, UIView предназначен для приложений iPhone.
Ответ 4
UIView используется для Cocoa Touch (Framework для устройств iOS), тогда как NSView используется для Cocoa (Mac OS X)