- (voID) awakeFromNib { [window setStyleMask:NSborderlessWindowMask]; [window setAcceptsMouseMovedEvents:YES]; [window setMovableByWindowBackground:YES]; [window setLevel:NSnormalWindowLevel];}
这样做的问题在于,窗口中的WebVIEw不会将鼠标悬停在已加载页面上的元素上,也不会提供键入文本字段的功能.我知道我应该创建一个自定义窗口,然后将contentVIEw移动到它中,但我对Objective-C来说太新了,无法弄清楚如何.
我也试过宣布所有这些没有运气:
@implementation specikAppDelegate@synthesize window;@synthesize webVIEw;- (BOol) canBecomeKeyWindow { return YES; }- (BOol) canBecomeMainWindow { return YES; }- (BOol) acceptsFirstResponder { return YES; }- (BOol) becomeFirstResponder { return YES; }- (BOol) resignFirstResponder { return YES; }...@end
另外,我希望能够通过点击并拖动它来移动窗口,但这是一个想法.我在网上广泛搜索过,找不到解决方法.
我的.h文件的内容(以防万一):
@interface specikAppDelegate : NSObject <NSApplicationDelegate> { IBOutlet NSWindow *window; IBOutlet WebVIEw *webVIEw;}@property (assign) IBOutlet NSWindow *window;@property (nonatomic,retain) IBOutlet WebVIEw *webVIEw;- (IBAction)openAboutPanel:(ID)sender;@end
任何帮助将不胜感激,就像我说的,我是Objective-C和Cocoa世界的新手,但我确实来自PHP开发背景.
解决方法 如 this answer中所述,没有标题或调整大小栏(包括无边框窗口)的窗口不能成为关键窗口.你是正确的覆盖–canBecomeKeyWindow,但你错过了正确的地方.您不应该在您的应用程序委托中执行此 *** 作.您需要创建一个NSWindow子类,然后重写该方法.
总结以上是内存溢出为你收集整理的如何在Objective-C Cocoa中创建自定义无边框NSWindow?全部内容,希望文章能够帮你解决如何在Objective-C Cocoa中创建自定义无边框NSWindow?所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)