MacOS 开发 - NSWindow 自定义样式
程序员文章站
2022-03-22 16:03:33
...
窗口对象包括titleBar,contentView内容视图,contentBoder底部边框区。
titleBar上面包括控制按钮,标题。
设置标题
[self.window setTitle:@"我的 App 标题"];
设置标题栏图标
先将 png 格式图片拖到Assets 中,我的图片名为’swift.png’
配置代码如下:
- 1
- 2
- 3
设置窗口背景颜色
- 1
- 2
- 3
- 4
设置 Content Border
默认是none 不显示出来.
需要显示的话可以选择 Small/Large Bottom Border 其他选项
这里我还不知道怎么用代码控制,会的可以告诉我。
自定义titleBar
原理:隐藏系统自带的titlebar, 继承NSView自己绘制一个titlebar, 在其上添加相应的关闭,最小化,最大化按钮,可以自定义调节颜色,隐藏,显示,高度,以及添加相应的其它控件。
隐藏titlebar
- 1
- 2
- 但设置
window.contentView
的颜色后,显示效果如下:
设置为点击背景可以移动窗口
- 如果隐藏了标题栏,点击标题栏位置,仍然可以拖动窗口。但是用户不知道标题栏的位置,所以需要设置点击背景也可以移动。
[self.window setMovableByWindowBackground:YES];
titleBar和下面的view合并到一起
xib:在Main.storyboard选中Window,勾选属性Full Size Content View
代码: self.window.styleMask = self.window.styleMask | NSWindowStyleMaskFullSizeContentView;
- 不隐藏titleBar
- 隐藏titleBar
系统提供的样式
常用的创建代码:
- 1
- 2
- 3
- 4
- 5
1、styleMask: 按位表示的窗口风格参数
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
2、backing:窗口绘制的缓存模式
- 1
- 2
- 3
- 4
- 5
3、defer:表示延迟创建还是立即创建
4、NSWindowStyleMask
上一篇: MAC OS X 命令终端的颜色显示
下一篇: spring3.0 正式发布
推荐阅读
-
android开发教程之自定义控件checkbox的样式示例
-
高德地图开发自定义地图样式
-
Mac开发之NSWindow自定义titlebar实现
-
Android开发笔记: 自定义RadioButton样式
-
快速开发QCombox以及业务样式自定义
-
小白开发程序之路(2-6)复选框CheckBox(常用属性、自定义样式、监听事件)
-
循序渐进BootstrapVue,开发公司门户网站(2)--- 使用wow.js动画组件以及自定义的CSS样式处理动态效果
-
android开发教程之自定义控件checkbox的样式示例
-
快速开发QCombox以及业务样式自定义
-
MacOS 开发 - NSWindow 自定义样式