Подтвердить что ты не робот

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

какая разница между UIView и NSView

4b9b3361

Ответ 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)