Pap.er 模仿 - 第二天
最后更新: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
文件拖入资源文件夹
Pap.er 模仿 - 第二天的更多相关文章
- Pap.er 模仿 - 第一天
最后更新: 2017-12-15 一. 项目初始化 解析对应的资源, 下载Pap.er之后,需要解析里面的资源. 采用如下的方法: http://blog.csdn.net/xuzihai0703/a ...
- virut详细分析
Virut分析 0x00.综合描述 virut样本的执行过程大体可以分为六步:第一步,解密数据代码,并调用解密后的代码:第二步,通过互斥体判断系统环境,解密病毒代码并执行:第三步,创建内存映射文件,执 ...
- Python-Day1 Python基础学习
一.Python3.5.X安装 1.Windows Windows上找度娘搜索“Python for windows下载”就OK了,安装的时候可以勾选设置环境变量,也可以安装完手动设置,这样在cmd中 ...
- windows窗口分析,父窗口,子窗口,所有者窗口
(本文尝试通过一些简单的实验,来分析Windows的窗口机制,并对微软的设计理由进行一定的猜测,需要读者具备C++.Windows编程及MFC经验,还得有一定动手能力.文中可能出现一些术语不统一的现象 ...
- CSS3 3D变形效果
CSS3 3D变形效果 CSS3 transform3D变形 transform的含义是:改变,使-变形:转换 三维变换使用基于二维变换的相同属性,如果您熟悉二维变换,你们发现3D变形的功能和2D变换 ...
- mongo数据库的常见操作
连接mongodb数据库的命令查看对应数据库mongo.exeuse shujukuming;db.opportunity.findOne({"id":5}); db.opport ...
- 爬取5K分辨率超清唯美壁纸
目录 爬取5K分辨率超清唯美壁纸 简介 编写思路 使用教程 演示图片 完整源代码 @ 爬取5K分辨率超清唯美壁纸 简介 壁纸的选择其实很大程度上能看出电脑主人的内心世界,有的人喜欢风景,有的人喜欢星空 ...
- Mac 上有哪些比较有意思的小软件?
文章素材来源:微博.新浪看点 收录于:风云社区(SCOEE)[提供mac软件下载] 更多专题,可关注小编[磨人的小妖精],查看我的文章,也可上[风云社区 SCOEE],查找和下载相关软件资源. (一) ...
- keras 自定义 custom 函数
转自: https://kexue.fm/archives/4493/,感谢分享! Keras是一个搭积木式的深度学习框架,用它可以很方便且直观地搭建一些常见的深度学习模型.在tensorflow出来 ...
随机推荐
- AOP与IOC区别
Spring核心知识 Spring是一个开源框架,Spring是于2003年兴起的一个轻量级的Java开发框架,由Rod Johnson在其著作Expert One-On-One J2EE Devel ...
- POJ 1789 Prim
给定N个字符串,某个字符串转为另一个字符串的花费为他们每一位不相同的字符数. 求最小花费Q. Input 多组输入,以0结束. 保证N不超过2000. Output 每组输出"The hig ...
- springsecurity学习
首先讲一下,没有用到数据库,然后觉得重要的就是security的配置securityConfig.class,不太会说(好像也不太会用),上图吧,也是学习狂神过来的 项目结构 大致效果 pom.xml ...
- 小程序 ----踩坑 ---安卓iOS兼容等
关于小程序一些小功能的代码都在这个GitHub上,感兴趣的可以去看看,https://github.com/huihuijiang/miniProgram目前有:列表左滑删除,拖拽浮标 一.小程序坑1 ...
- datatable 写入excel 2007
1 添加引用: NPOI NPOI.OOXML 2 private static void GenerateFile(DataTable dt) { DataSet ds = new DataSet( ...
- bash shell脚本之成员变量
shell中变量的使用 cat test3: #!/bin/bash # testing variables days= guest="Katie" echo "$gue ...
- cent os 7.0 出现的问题解决方法
https://www.jb51.net/article/34012.htm python重编译,并进行安装 https://www.jb51.net/os/RedHat/211444.h ...
- shiro系列一、认识shiro
Apache Shiro是Java的一个安全框架.目前,使用Apache Shiro的人越来越多,因为它相当简单,对比Spring Security,可能没有Spring Security做的功能强大 ...
- HTML5学习:表格
HTML代码 <table> <thead> <tr> <th>标题1</th> <th>标题2</th> < ...
- python-----操作路径
分离路径.文件名 org_path = r"F:\temp\test" fpath, fname = os.path.split(org_path) print(fpath,fna ...