【发布时间】:2012-08-15 16:10:07
【问题描述】:
目前,我的应用程序的行为允许我调用我编写的这个额外函数,该函数可以将窗口大小调整为 FittingSize。
- (void)fitToMinimumSize
{
NSRect frame = [self frame];
frame.size = [[self contentView] fittingSize];
int originalHeight = [self frame].size.height;
int diff = originalHeight - frame.size.height;
frame.origin.y += diff;
[self setFrame:frame display:YES];
}
但是我可以通过一些内置的自动布局代码自动执行此行为,以便窗口始终是它的 contentView 的最小值而不是这个万能的黑客吗?
编辑:我发现我可以检查 [[self contentView]fittingSize],但是我如何观察它以防它发生变化,或者我应该自己触发它?
【问题讨论】:
-
请注意,使用Autolayout 约束与使用自动调整掩码不同。
标签: macos cocoa nswindow autolayout