CN107450925A - 一种Mac下自定义弹窗控件的方法 - Google Patents

一种Mac下自定义弹窗控件的方法 Download PDF

Info

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
Application number
CN201710637938.8A
Other languages
English (en)
Inventor
张俊峰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Kuwo Technology Co Ltd
Original Assignee
Beijing Kuwo Technology Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Beijing Kuwo Technology Co Ltd filed Critical Beijing Kuwo Technology Co Ltd
Priority to CN201710637938.8A priority Critical patent/CN107450925A/zh
Publication of CN107450925A publication Critical patent/CN107450925A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/30Creation or generation of source code
    • G06F8/38Creation 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下自定义弹窗控件的方法。所述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属性实现背景颜色的调整。
CN201710637938.8A 2017-07-31 2017-07-31 一种Mac下自定义弹窗控件的方法 Pending CN107450925A (zh)

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)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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控件的显示控制方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
Title
网友:文兄的每日一博: "iOS带箭头的弹出框", 《CSDN》 *
网页:六的下一个数SIXLEAVES: "CALayer的基本使用", 《SEGMENTFAULT思否》 *

Cited By (3)

* Cited by examiner, † Cited by third party
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