0
我不能讓自動佈局在OS X上工作。我想要做的事很簡單,即我有一個NSTextField應該填充整個空間的超級觀點。這裏是我正在使用的最小工作示例代碼:在OS X上的自動佈局 - 使NSTextField填充超級視圖
@import AppKit;
int main() {
@autoreleasepool {
NSWindow *window = [[NSWindow alloc] initWithContentRect:NSMakeRect(0, 0, 300, 300)
styleMask:(NSTitledWindowMask | NSClosableWindowMask | NSResizableWindowMask)
backing:NSBackingStoreBuffered
defer:NO];
NSTextField *textField = [[NSTextField alloc] initWithFrame:NSMakeRect(0, 0, 100, 100)];
textField.stringValue = @"Lorem ipsum dolor sit atmet.";
[window.contentView addSubview:textField];
textField.translatesAutoresizingMaskIntoConstraints = NO;
window.contentView.translatesAutoresizingMaskIntoConstraints = NO;
[textField setContentHuggingPriority:1
forOrientation:NSLayoutConstraintOrientationHorizontal];
[textField setContentHuggingPriority:1
forOrientation:NSLayoutConstraintOrientationVertical];
[window.contentView addConstraints:
[NSLayoutConstraint constraintsWithVisualFormat:@"H:|-[textField]-|"
options:0
metrics:nil
views:@{@"textField": textField}]];
[window.contentView addConstraints:
[NSLayoutConstraint constraintsWithVisualFormat:@"V:|-[textField]-|"
options:0
metrics:nil
views:@{@"textField": textField}]];
window.contentView.wantsLayer = YES;
window.contentView.layer.borderWidth = 5;
[window makeKeyAndOrderFront:nil];
[[NSApplication sharedApplication] run];
[textField release];
[window release];
}
return EXIT_SUCCESS;
}
當我運行這個時,文本字段不會出現。調整窗口大小時,您可以清楚地看到內容視圖的邊框正確調整大小。我究竟做錯了什麼?
謝謝!我絕對不會想到自己... – vlikahmv
@vlikahmv沒問題,看起來像一個意想不到的複製粘貼:) –