码迷,mamicode.com
首页 > 其他好文 > 详细

OC之窗口的基本属性

时间:2019-01-22 17:26:10      阅读:202      评论:0      收藏:0      [点我收藏+]

标签:sap   end   present   content   int   sel   程序   兼容   sig   

2017年11月27日 11:01:16 Amazing_anna 阅读数:886

 

代码示例

NSRect frame = CGRectMake(0, 0, 200, 200);

NSUInteger style =  NSTitledWindowMask | NSClosableWindowMask |NSMiniaturizableWindowMask | NSResizableWindowMask;

NSWindow *window = [[NSWindow alloc] initWithContentRect:frame styleMask:style backing:NSBackingStoreBuffered defer:YES];

window.title = @"New Create Window";

//窗口显示

[window makeKeyAndOrderFront:self];

//窗口居中

[window center];”

 

styleMask:窗口风格

enum {

   NSBorderlessWindowMask = 0,             //没有顶部titlebar边框

   NSTitledWindowMask = 1 << 0,            //有顶部titlebar边框

   NSClosableWindowMask = 1 << 1,          //带有关闭按钮

   NSMiniaturizableWindowMask = 1 << 2,    //带有最小化按钮

   NSResizableWindowMask = 1 << 3,         //恢复按钮

   NSTexturedBackgroundWindowMask = 1 << 8 //带纹理背景的window

};

backing:窗口绘制的缓存模式

enum {

   NSBackingStoreRetained     = 0, //兼容老系统参数,基本很少用到

   NSBackingStoreNonretained  = 1, //不缓存直接绘制

   NSBackingStoreBuffered     = 2  //缓存绘制

};

 

窗口通知

NSWindowDidBecomeKeyNotification: 窗口成为keyWindow

NSWindowDidBecomeMainNotification:窗口成为mainWindow

NSWindowDidMoveNotification:      窗口移动

NSWindowDidResignKeyNotification: 窗口不再是keyWindow

NSWindowDidResignMainNotification:窗口不再是mainWindow

NSWindowDidResizeNotification:    窗口大小改变

NSWindowWillCloseNotification:    关闭窗口

 

NSWindow 中的 contentView

关闭窗口时退出程序

方法一:

- (BOOL)applicationShouldTerminateAfterLastWindowClosed:(NSApplication *)application {

    return YES;

}

 

方法二:利用 NSWindowDelegate

- (void)windowWillClose:(NSNotification *)notification

{

    NSWindow *window = notification.object;

    if(window == self.window) {

        [NSApp terminate:self];

       // [[NSApplication sharedApplication] terminate:nil];  //或这句也行

    }

}

 

设置Windowimagetitle

- (void)setWindowIcon {

    [self.window setRepresentedURL:[NSURL URLWithString:@"WindowTitle"]];

    [self.window setTitle:@"SQLiteApp"];

    NSImage *image = [NSImage imageNamed:@"windowIcon"];

    [[self.window standardWindowButton:NSWindowDocumentIconButton] setImage:image];

}

 

**关闭窗口**

 

[self.window miniaturize:sender];

OC之窗口的基本属性

标签:sap   end   present   content   int   sel   程序   兼容   sig   

原文地址:https://www.cnblogs.com/sundaymac/p/10304470.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!