我在ObjectiveC,OSX,而不是iOS。 XCode 8.3
我有一个偏好窗口(自定义NSWindow),它在我的主窗口上作为模态打开。
首选项窗口本身包含带有标签的视图。只要单击一个,标签高度就会改变窗口大小。
点击第一个标签:
点击第二个标签:
现在,如果某人将应用程序隐藏在扩展坞中并再次激活它,则即使选项卡2仍处于活动状态,优先选项窗口也会以选项卡1的高度变为活动状态。所以内容被切断了。
我需要的是某种通知,在再次变为活动/可见时触发,以在窗口显示之前触发窗口大小调整。
我在NSWindow子类(使用NSWindow委托集)中尝试了这些通知。
- (void)windowDidResignMain:(NSNotification*)notification{
NSLog(@"windowDidResignMain");
}
- (void)windowDidResignKey:(NSNotification*)notification{
NSLog(@"windowDidResignKey");
}
- (BOOL)canBecomeKeyWindow{
return YES;
}
- (BOOL)canBecomeMainWindow{
return YES;
}
但他们都没有奏效。是因为它是一个模态窗口吗? 任何帮助表示赞赏。
答案 0 :(得分:0)
我找到了。我的错误 - 我的tabViewController在viewWillAppear上触发了一个调整大小,始终是第一个选项卡。我将其更改为当前选定的选项卡,就是这样。