CN107450925A - 一种Mac下自定义弹窗控件的方法 - Google Patents
一种Mac下自定义弹窗控件的方法 Download PDFInfo
- Publication number
- CN107450925A CN107450925A CN201710637938.8A CN201710637938A CN107450925A CN 107450925 A CN107450925 A CN 107450925A CN 201710637938 A CN201710637938 A CN 201710637938A CN 107450925 A CN107450925 A CN 107450925A
- Authority
- CN
- China
- Prior art keywords
- layer
- wedge angle
- pop
- calayer
- self
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F8/00—Arrangements for software engineering
- G06F8/30—Creation or generation of source code
- G06F8/38—Creation or generation of source code for implementing user interfaces
Landscapes
- Engineering & Computer Science (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Controls And Circuits For Display Device (AREA)
- User Interface Of Digital Computer (AREA)
Abstract
本发明涉及一种Mac下自定义弹窗控件的方法,包括如下步骤:步骤1,初始化设定,具体包括:设定一个窗口类NSWindow,用于放置画面类;设定一画面类NSView,用于放置底层图层和尖角图层;设定一个基于CALayer的底层图层,用于显示背景颜色;设定一个基于CALayer的尖角图层,用于显示尖角;步骤2,设置底层图层的默认颜色,然后在相应的位置添加一个尖角图层;步骤3,对尖角图层设置旋转,旋转完成后的效果即为弹窗边沿处的尖角。本发明,基于CALayer以及CGAffineTransform,使弹窗可以任意改变背景颜色,尖角可以在弹窗边沿的任意位置,用户体验好。
Description
技术领域
本发明涉及图像(图形)显示技术领域,具体说是一种Mac下自定义弹窗控件的方法。所述Mac指苹果电脑(曾被译为麦金塔电脑,即Macintosh的音译),运行OS X系统(苹果公司为麦金塔电脑开发的专属操作系统)。
背景技术
现有的OS X系统中,提供了现成的弹窗控件,但是该现成的弹窗控件很难改变其背景颜色,例如:即使通过设定改变了边界还是会出现白色的描边。而且,该现成的弹窗控件提供的尖角(亦称为箭头),只能在上边沿、下边沿、左边沿或右边沿的中间位置,不支持自定义改变尖角的位置,图1所示是尖角在下边沿的中间位置。显然,现成的弹窗控件难以满足用户的需求,难以达到较为理想的弹窗效果。
发明内容
针对现有技术中存在的缺陷,本发明的目的在于提供一种Mac下自定义弹窗控件的方法,基于CALayer以及CGAffineTransform,使弹窗可以任意改变背景颜色,尖角可以在弹窗边沿的任意位置,用户体验好。
为达到以上目的,本发明采取的技术方案是:
一种Mac下自定义弹窗控件的方法,其特征在于,包括如下步骤:
步骤1,初始化设定,具体包括:
设定一个窗口类NSWindow,用于放置画面类;
设定一画面类NSView,用于放置底层图层和尖角图层;
设定一个基于CALayer的底层图层,用于显示背景颜色;
设定一个基于CALayer的尖角图层,用于显示尖角;
步骤2,设置底层图层的默认颜色,然后在相应的位置添加一个尖角图层;
步骤3,对尖角图层设置旋转,旋转完成后的效果即为弹窗边沿处的尖角。
在上述技术方案的基础上,步骤2中,所述相应位置指尖角效果所呈现的位置,该位置为用户自定义,位于弹窗边沿处。
在上述技术方案的基础上,用户自定义的尖角效果所呈现的位置,包括但不限于尖角图层在以下位置:
上边沿、下边沿、左边沿或右边沿的中间位置,
上边沿或下边沿的左侧位置,
左边沿或右边沿的上侧位置。
在上述技术方案的基础上,添加尖角图层的具体步骤为:
画面类NSView包括一个自带layer,在自带layer上层叠的添加底层图层和尖角图层,
尖角图层的位置为以下任意之一所述位置:
鼠标点击的位置,
弹窗对应的按钮所在的位置,
向尖角图层中添加一个小正方形CALayer,
设置小正方形CALayer的颜色和背景颜色一样,
使用CGAffineTransform把小正方形CALayer以中心为原点旋转90度。
在上述技术方案的基础上,底层图层支持但不限于以下背景颜色:
默认白色,
系统模糊显示,
通过设置底层图层的backgroundFilters属性实现背景颜色的调整。
本发明所述的Mac下自定义弹窗控件的方法,基于CALayer以及CGAffineTransform,使弹窗可以任意改变背景颜色,尖角可以在弹窗边沿的任意位置,用户体验好,可用于OS X系统中弹窗效果的实现,满足个性化、差异化的交互界面设计、使用需求。
附图说明
本发明有如下附图:
图1OS X系统中现成的弹窗控件实施效果示意图。
图2本发明方法自定义背景颜色为黑色实施效果示意图。
图3本发明方法自定义背景颜色为白色实施效果示意图。
图4本发明的流程框图。
具体实施方式
以下结合附图对本发明作进一步详细说明。
如图2、3、4所示,本发明所述的Mac下自定义弹窗控件的方法,包括如下步骤:
步骤1,初始化设定,具体包括:
设定一个窗口类NSWindow,用于放置画面类;
设定一画面类NSView,用于放置底层图层(底层Layer)和尖角图层(尖角layer);
设定一个基于CALayer的底层图层,用于显示背景颜色;
设定一个基于CALayer的尖角图层,用于显示尖角;
步骤2,设置底层图层的默认颜色,然后在相应的位置添加一个尖角图层;
所述相应位置指尖角效果所呈现的位置,该位置为用户自定义,位于弹窗边沿处,
例如:图3所示即在上边沿的左侧位置添加并呈现尖角效果,
添加尖角图层通过调用画面类NSView实现;
步骤3,对尖角图层设置旋转,旋转完成后的效果即为弹窗边沿处的尖角。
在上述技术方案的基础上,用户自定义的尖角效果所呈现的位置,包括但不限于尖角图层在以下位置:
上边沿、下边沿、左边沿或右边沿的中间位置,
上边沿或下边沿的左侧位置,
左边沿或右边沿的上侧位置。
在上述技术方案的基础上,添加尖角图层的具体步骤为:
画面类NSView包括一个自带layer,在自带layer上层叠的添加底层图层和尖角图层,
尖角图层的位置为以下任意之一所述位置:
鼠标点击的位置,
弹窗对应的按钮所在的位置,
向尖角图层中添加一个小正方形CALayer,
设置小正方形CALayer的颜色和背景颜色一样,
使用CGAffineTransform(系统API用于矩阵变化)把小正方形CALayer以中心为原点旋转90度,
所得效果就是:小正方形会有一半会因为颜色和背景颜色一样而看不出效果,另一半则显示出尖角效果,参见图3。
在上述技术方案的基础上,底层图层支持但不限于以下背景颜色:
默认白色,
系统模糊显示,
通过设置底层图层的backgroundFilters属性实现背景颜色的调整。图2为弹窗的背景颜色为黑色,图3为弹窗的背景颜色为白色。具体颜色可根据需要调整。
本说明书中未作详细描述的内容属于本领域专业技术人员公知的现有技术。
Claims (5)
1.一种Mac下自定义弹窗控件的方法,其特征在于,包括如下步骤:
步骤1,初始化设定,具体包括:
设定一个窗口类NSWindow,用于放置画面类;
设定一画面类NSView,用于放置底层图层和尖角图层;
设定一个基于CALayer的底层图层,用于显示背景颜色;
设定一个基于CALayer的尖角图层,用于显示尖角;
步骤2,设置底层图层的默认颜色,然后在相应的位置添加一个尖角图层;
步骤3,对尖角图层设置旋转,旋转完成后的效果即为弹窗边沿处的尖角。
2.如权利要求1所述的Mac下自定义弹窗控件的方法,其特征在于:步骤2中,所述相应位置指尖角效果所呈现的位置,该位置为用户自定义,位于弹窗边沿处。
3.如权利要求2所述的Mac下自定义弹窗控件的方法,其特征在于:用户自定义的尖角效果所呈现的位置,包括但不限于尖角图层在以下位置:
上边沿、下边沿、左边沿或右边沿的中间位置,
上边沿或下边沿的左侧位置,
左边沿或右边沿的上侧位置。
4.如权利要求2所述的Mac下自定义弹窗控件的方法,其特征在于:添加尖角图层的具体步骤为:
画面类NSView包括一个自带layer,在自带layer上层叠的添加底层图层和尖角图层,
尖角图层的位置为以下任意之一所述位置:
鼠标点击的位置,
弹窗对应的按钮所在的位置,
向尖角图层中添加一个小正方形CALayer,
设置小正方形CALayer的颜色和背景颜色一样,
使用CGAffineTransform把小正方形CALayer以中心为原点旋转90度。
5.如权利要求1所述的Mac下自定义弹窗控件的方法,其特征在于:底层图层支持但不限于以下背景颜色:
默认白色,
系统模糊显示,
通过设置底层图层的backgroundFilters属性实现背景颜色的调整。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710637938.8A CN107450925A (zh) | 2017-07-31 | 2017-07-31 | 一种Mac下自定义弹窗控件的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201710637938.8A CN107450925A (zh) | 2017-07-31 | 2017-07-31 | 一种Mac下自定义弹窗控件的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN107450925A true CN107450925A (zh) | 2017-12-08 |
Family
ID=60489821
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201710637938.8A Pending CN107450925A (zh) | 2017-07-31 | 2017-07-31 | 一种Mac下自定义弹窗控件的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN107450925A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112835669A (zh) * | 2021-02-07 | 2021-05-25 | 华东师范大学 | 一种麦金塔Mac电脑操作系统OS X下创建全屏浮动窗口的方法 |
CN113900760A (zh) * | 2021-10-26 | 2022-01-07 | 广州博冠信息科技有限公司 | 一种弹窗展示方法和装置 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110111857A (ko) * | 2010-04-05 | 2011-10-12 | 주식회사 케이엠알아이 | 도킹 스테이션과 결합하는 휴대 단말 및 그 구동 방법 |
CN103246502A (zh) * | 2012-02-10 | 2013-08-14 | 腾讯科技(深圳)有限公司 | 一种弹出式窗口的实现方法和系统 |
CN106095403A (zh) * | 2016-05-30 | 2016-11-09 | 努比亚技术有限公司 | 聊天信息的展示装置和方法 |
CN106681593A (zh) * | 2016-12-30 | 2017-05-17 | 北京优朋普乐科技有限公司 | 一种用户界面ui控件的显示控制方法及装置 |
-
2017
- 2017-07-31 CN CN201710637938.8A patent/CN107450925A/zh active Pending
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR20110111857A (ko) * | 2010-04-05 | 2011-10-12 | 주식회사 케이엠알아이 | 도킹 스테이션과 결합하는 휴대 단말 및 그 구동 방법 |
CN103246502A (zh) * | 2012-02-10 | 2013-08-14 | 腾讯科技(深圳)有限公司 | 一种弹出式窗口的实现方法和系统 |
CN106095403A (zh) * | 2016-05-30 | 2016-11-09 | 努比亚技术有限公司 | 聊天信息的展示装置和方法 |
CN106681593A (zh) * | 2016-12-30 | 2017-05-17 | 北京优朋普乐科技有限公司 | 一种用户界面ui控件的显示控制方法及装置 |
Non-Patent Citations (2)
Title |
---|
网友:文兄的每日一博: "iOS带箭头的弹出框", 《CSDN》 * |
网页:六的下一个数SIXLEAVES: "CALayer的基本使用", 《SEGMENTFAULT思否》 * |
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112835669A (zh) * | 2021-02-07 | 2021-05-25 | 华东师范大学 | 一种麦金塔Mac电脑操作系统OS X下创建全屏浮动窗口的方法 |
CN113900760A (zh) * | 2021-10-26 | 2022-01-07 | 广州博冠信息科技有限公司 | 一种弹窗展示方法和装置 |
CN113900760B (zh) * | 2021-10-26 | 2024-05-28 | 广州博冠信息科技有限公司 | 一种弹窗展示方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP3742280A1 (en) | Display annotation method, device, apparatus, and storage medium | |
US20180364865A1 (en) | Touch control method, user equipment, input processing method, mobile terminal and intelligent terminal | |
US9397844B2 (en) | Automated graphical user-interface layout | |
EP2701152B1 (en) | Media object browsing in a collaborative window, mobile client editing, augmented reality rendering. | |
TWI610218B (zh) | 裝置中控制螢幕的設備及其方法 | |
EP4130963A1 (en) | Object dragging method and device | |
DE112015000950T5 (de) | Abwärtskompatible Einrichtung und abwärtskompatibles Verfahren zum Bereitstellen von Video mit sowohl Standard- als auch hohem Dynamikbereich | |
EP2687965A1 (en) | Icon generation method | |
US20140149931A1 (en) | Information processing apparatus and display control method | |
CN104571337A (zh) | 双屏平板电脑显示和触摸控制方法 | |
CN104461301B (zh) | 基于世界坐标实现屏幕窗口自动对齐的方法 | |
US20130207994A1 (en) | System and method for generating and applying a color theme to a user interface | |
CN105741229A (zh) | 实现人脸图像快速融合的方法 | |
US11403121B2 (en) | Streaming per-pixel transparency information using transparency-agnostic video codecs | |
US20170345396A1 (en) | Configuring virtual display zones within one flexible display | |
TW201133327A (en) | Multiple displays electric apparatus and operation method thereof | |
US11064784B2 (en) | Printing method and system of a nail printing apparatus, and a medium thereof | |
US20150199113A1 (en) | Electronic content visual comparison apparatus and method | |
WO2017032193A1 (zh) | 用户界面布局的调整方法及装置 | |
WO2022166893A1 (zh) | 信息显示方法、装置、电子设备和存储介质 | |
CN107450925A (zh) | 一种Mac下自定义弹窗控件的方法 | |
WO2023072061A1 (zh) | 图标显示控制方法、装置、电子设备及存储介质 | |
WO2023155811A1 (zh) | 页面布局调整方法、装置 | |
WO2022206586A1 (zh) | 图像处理方法、装置、设备、及存储介质 | |
US10628984B2 (en) | Facial model editing method and apparatus |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20171208 |