• OC之窗口的基本属性


    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];

  • 相关阅读:
    jsp开发环境搭建(windows64位)
    python环境和工具
    判断单链表是否有环及寻找环的入口
    Eclipse实用操作
    img标签在div里上下居中
    继承小结
    创建对象
    方法链、作用域链和原型链(三)——原型链
    python截取字符串
    在vscode上运行python
  • 原文地址:https://www.cnblogs.com/sundaymac/p/10304470.html
Copyright © 2020-2023  润新知