【发布时间】:2014-02-26 13:06:42
【问题描述】:
我无法使用 Autolayout 正确调整子视图的大小。为了说明我的观点,我整理了一个简约的例子。
首先我创建了一个新的 NSViewController 并向其添加了一个子视图(在本例中为 NSTextView)并添加了 Autolayout 约束。
然后我在 MainMenu.xib 中添加了一个自定义视图,并为此设置了 Autolayout 约束。
最后,我创建了我的视图控制器的一个实例并将其视图放入我的自定义视图中。
#import "AppDelegate.h"
#import "MyViewController.h"
@interface AppDelegate()
@property (weak) IBOutlet NSView *customView;
@end
@implementation AppDelegate
- (void)applicationDidFinishLaunching:(NSNotification *)aNotification
{
MyViewController *myViewController = [[MyViewController alloc] initWithNibName:@"MyViewController" bundle:nil];
[self.customView addSubview:myViewController.view];
myViewController.view.frame = self.customView.bounds;
}
@end
由于在两个 xib 文件中都检查了“自动调整子视图”,我希望 NSTextView 在调整主窗口大小时调整大小。然而,它只是留在原地。
我在这里缺少什么?这让我困惑了几天。
谢谢, 迈克尔·克努森
【问题讨论】:
标签: objective-c cocoa autolayout nsview