我需要使主窗口保留宽度/高度比时,用户在MacOS上调整它的大小。
我的第一个想法是处理以下通知:
@interface Override_iOS : NSObject
@end
__strong Override_iOS *_instance;
@implementation Override_iOS
+(void)load
{
NSLog(@"[Override_iOS load]");
_instance = [Override_iOS new];
[[NSNotificationCenter defaultCenter] addObserver:_instance
selector:@selector(applicationDidFinishLaunching:)
name:UIApplicationDidFinishLaunchingNotification
object:nil];
}
-(void)applicationDidFinishLaunching:(NSNotification*) notification
{
NSLog(@"[Override_iOS applicationDidFinishLaunching:%@]", notification);
//qDebug() << "applicationDidFinishLaunching handler";
}
@end
并尝试设置主窗口的aspectRatio
属性,但看起来这段代码在MacOS上不起作用,而只能在iOS上(至少在我的应用程序中)。
有可能在MacOS上做这样的事情吗?
XCode项目中是否有选项?
编辑1
我需要类似this的内容:
- (void)awakeFromNib {
// Keep the aspect ratio constant at its current value
[window setAspectRatio:window.frame.size];
}
但不清楚在何处添加此内容。
编辑1
已创建测试应用程序:
1条答案
按热度按时间bn31dyow1#
我已经做了很少与MacOS应用程序,但这可能是你正在寻找...
创建一个
NSWindow
子类:我的窗口控制器.h
我的窗口控制器.m
然后指定窗口控制器的自定义类: