目前,我的应用程序的行为允许我调用我编写的这个额外函数,该函数将窗口大小调整为 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],但是我如何观察它以防它发生变化,或者我应该自己触发它?