Pap.er 模仿 - 第二天
2024-09-05 06:30:16
最后更新:2017-12-19
在第一天中, 我们完成了项目的基本设置、隐藏Dock、显示和隐藏Popover等操作,接下来的这章中, Pap.er将会去搭建对应 UI.
一、设置Popover对应颜色
官方的Pap.er的箭头部分色值为RGB=(34, 34, 34)
查找官方的NSPopover API,发现没有设置对应和方法, 尝试更改ContentViewController.view
, 但是也是没有对应的属性来设置, 通过 Stack Overflow, 可以更改颜色设置.
Step1: 新建一个继承于NSView
的子类,命名为: MainPopoverRootView
;
Step2: 再新建一个继承于NSView
的子类,命名为: MainPopoverBackgroundView
;
Step3: 对新建的 MainPopoverRootView
和 MainPopoverBackgroundView
分别做如下的设置:
// MainPopoverRootView
class MainPopoverRootView: NSView {
override func viewDidMoveToWindow() {
let aFrameView = self.window?.contentView?.superview
let aBGView = MainPopoverBackgroundView(frame: aFrameView?.bounds ?? .zero)
aFrameView?.addSubview(aBGView, positioned: .below, relativeTo: aFrameView)
aBGView.autoresizingMask = [.width, .height]
super.viewDidMoveToWindow()
}
}
// MainPopoverBackgroundView
class MainPopoverBackgroundView: NSView {
override func draw(_ dirtyRect: NSRect) {
super.draw(dirtyRect)
NSColor(red: 34/255.0, green: 34/255.0, blue: 34/255.0, alpha: 1).set()
dirtyRect.fill()
}
}
Step4: 打开 MainPopoverViewController.xib
,设置如下:
Step5:运行结果如下:
二、构建主界面
打开
MainPopoverViewController.xib
,设置宽高为: 285 * 600
将解析的资源里面的
paperHeader
、reload_button
、Settings
、download
文件拖入资源文件夹
最新文章
- Caffe源码解析7:Pooling_Layer
- VHDL的参数写在一个vhd文件里
- Android 生成xml文件
- Reorder List
- BZOJ 1042 硬币购物(完全背包+DP)
- 谷歌、火狐浏览器gift图片缓存后不显示动态效果
- [百度空间] [原] 全局operator delete重载到DLL
- 用Maven插件生成Mybatis代码
- 【转载】Android Studio 设置内存大小及原理
- 汉语转拼音pinyin4j
- ASP长文章分页的两个方法,函数
- 3d max export for unity3d
- Eclipse(MyEclipse)使用技巧——改动凝视字体大小
- [ES6] Rest Parameter
- hdu 5007 水 弦
- VS2010/MFC对话框一:创建对话框模板和修改对话框属性
- hdu 1558 (线段相交+并查集) Segment set
- ZOJ.3551.Bloodsucker(期望DP)
- 每日英语:Missing at Mobile World Congress: Innovation
- 【quickhybrid】组件(自定义)API的实现
热门文章
- vue开发中利用正则限制input框的输入(手机号、非0开头的正整数等)
- Docker Registry搭建
- linux 文件操作与目录操作
- 学习前端第二天之css层叠样式
- react route使用HashRouter和BrowserRouter的区别-Content Security Policy img-src 404(Not found)
- zxx.cms.app 开发中的一些git命令
- SpringCloud之Ribbon负载均衡配置
- 2.IOC 配置与应用(xml的方式)
- 【atcoder】GP 2 [agc036C]
- 【3】Kafka安装及部署