@e.James ответ дал мне идею просто создать новый enum с более привычным именованием:
typedef NS_OPTIONS(NSUInteger, NSViewAutoresizing) {
NSViewAutoresizingNone = NSViewNotSizable,
NSViewAutoresizingFlexibleLeftMargin = NSViewMinXMargin,
NSViewAutoresizingFlexibleWidth = NSViewWidthSizable,
NSViewAutoresizingFlexibleRightMargin = NSViewMaxXMargin,
NSViewAutoresizingFlexibleTopMargin = NSViewMaxYMargin,
NSViewAutoresizingFlexibleHeight = NSViewHeightSizable,
NSViewAutoresizingFlexibleBottomMargin = NSViewMinYMargin
};
Кроме того, из моего исследования я обнаружил, что @ James.s имеет серьезную ошибку в дополнениях NSView. Система координат в Какао имеет перевернутую ось Y в терминах системы координат iOS. Следовательно, чтобы исправить нижнее и верхнее поле, вы должны написать:
- (void)fixTopEdge:(BOOL)fixed
{ [self setAutoresizingBit:NSViewMaxYMargin toValue:!fixed]; }
- (void)fixBottomEdge:(BOOL)fixed
{ [self setAutoresizingBit:NSViewMinYMargin toValue:!fixed]; }
Из документов по какао:
NSViewMinYMargin
The bottom margin between the receiver and its superview is flexible.
Available in OS X v10.0 and later.