1. 创建一个window

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

2. 关闭窗口退出程序

// 方法一:
- (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]; //或这句也行 }
}

3. 设置window的image和title

- (void)setWindowIcon { [self.window setRepresentedURL:[NSURL URLWithString:@"WindowTitle"]]; [self.window setTitle:@"我是title"]; NSImage *image = [NSImage imageNamed:@"windowIcon"]; [[self.window standardWindowButton:NSWindowDocumentIconButton] setImage:image];
}

4. 最小化窗口

// 最小化窗口
[self.window miniaturize:sender];

5. 点击背景可以拖动窗口

[self.window setMovableByWindowBackground:YES];

6. 隐藏titlebar

// 设置标题隐藏
self.window.titleVisibility = NSWindowTitleHidden;
// 设置标题栏透明
self.window.titlebarAppearsTransparent = YES;
// 设置contentview与titlebar融合到一起(此时设置背景颜色也将影响titlebar的颜色)
self.window.styleMask = self.window.styleMask | NSWindowStyleMaskFullSizeContentView;

参考文献

  1. NSWindow
  2. 窗口对象

NSWindow纯代码设置相关推荐

  1. html居右显示语言设置,iOS开发:纯代码设置UIButton文字居左或者居右显示

    UIButton这个控件使用,作为资深的iOS开发人员来说是小儿科,但是有些时候还是需要记录一下UIButton的一些其他用法,这样方便快速解决实际问题.比如UIButton的纯代码编程的时候,设置文 ...

  2. C# log4net纯代码设置参数

    log4net.config参数设置 <?xml version="1.0" encoding="utf-8" ?> <configurati ...

  3. ios swift 纯代码设置UITableViewCell的style

    1.dequeueReusableCell(withIdentifier:)方法不需要注册 func tableView(_ tableView: UITableView, cellForRowAt ...

  4. Swift5.x使用纯代码创建NavigationTab控制器设置启动图Wb第1部分

    Swift5.x使用纯代码创建NavigationTab控制器设置启动图Wb第1部分 前言 1 使用纯代码创建NavigationTab控制器必须会,也可使用storyboard拖控件,没有代码创建灵 ...

  5. ios 代码设置控件宽高比_iOS--利用比例纯代码适配屏幕大小

    首先说下让自己的程序支持iPhone6和6+,第一种使用官方提供的launch screen.xib,这个直接看官方文档即可,这里不再多述:第二种方法是和之前iPhone5的类似,比较简单,为iPho ...

  6. iOS纯代码工程手动快速适配

    首先说下让自己的程序支持iPhone6和6+,第一种使用官方提供的launch screen.xib,这个直接看官方文档即可,这里不再多述:第二种方法是和之前iPhone5的类似,比较简单,为iPho ...

  7. 【鸿蒙 HarmonyOS】Ability 中使用纯代码绘制布局及 UI 组件

    文章目录 一.Ability 与 Slice 简介 二.Ability 中使用纯代码绘制布局及 UI 组件 三.Ability 中使用纯代码绘制布局及 UI 组件代码示例 四.GitHub 地址 一. ...

  8. 搭建App主流框架_纯代码搭建(OC)

    转载自:http://my.oschina.net/hejunbinlan/blog/529778?fromerr=EmSuX7PR 搭建主流框架界面 源码地址在文章末尾 达成效果 效果图 注:本文部 ...

  9. html导入错误 wordpress,纯代码为WordPress压缩前端html代码 附BUG修复

    [摘要] wp-html-compression是WordPress常用的压缩前端代码插件,本文简析纯代码实现WordPress前端代码压缩功能,并指出常见bug的解决方法. 除了主机的因素之外,一个 ...

最新文章

  1. Handle table中CAS操作与A-B-A Problem解析
  2. rsa java ao_RSA加解密工具类
  3. finally块的return语句会覆盖其他语句的return
  4. Android+Jquery Mobile学习系列(3)-创建Android项目
  5. c++ 未定义标识符string_Redis之String的数据结构
  6. Linux查看实时网卡流量的几种方式
  7. j2ee核心模式_Java设计模式是什么?
  8. Myeclipse性能优化
  9. linux dhcpv6有状态配置,Centos 7下IPV6 有状态DHCPV6配置
  10. python单位根检验看结果_时间序列的ADF检验(单位根检验)
  11. 050_Scrapy 爬虫框架 案例四大名著爬取
  12. EMQX的Web管理后台-Dashboard
  13. 熟练度=正确的知识 X 大量的刻意练习。
  14. 叶檀:别上了美国人的当 加息会给中国致命一击
  15. html 怎么插入向上的箭头,如何在html中插入箭头?
  16. SecureCRT常用的几个命令
  17. jquery给日期赋值_关于jQuery赋值
  18. C# 获取当前获得焦点的控件
  19. 花式实现图片3D翻转效果
  20. 武汉大学计算机技术上机难度,武汉大学计算机技术(专业学位)考研难不难和研究生专业好不好...

热门文章

  1. KMIP协议/TTLV格式解码
  2. 区块链技术应用场景有哪些?
  3. hdf heg 批量拼接_python调用HEG工具批量处理MODIS数据
  4. 新手使用python易踩坑语法:if语句中or 与in连用
  5. Hexo 博客导流微信公众号
  6. 前后端交互node服务器
  7. Linux I2C从设备树信息查看与添加方法
  8. 【OpenCV 例程200篇】220.对图像进行马赛克处理
  9. 微软office在线文档_如何使用Microsoft Office密码保护文档和PDF
  10. 源于旗舰大厂的设计艺术——飞利浦Fidelio L3简评