gpt4 book ai didi

Cocoa:自定义控件不仅限于窗框 - 如何开始?

转载 作者:行者123 更新时间:2023-12-03 17:17:13 25 4
gpt4 key购买 nike

我想构建一个自定义控件,其工作方式如下:您有一种带有图像的 NSButton。单击该按钮,然后会出现一个带有照片网格的大正方形。您单击其中一张照片,它将设置为按钮的新图像。 (正方形消失)

现在,如果我想让它不局限于窗框,如何用照片来绘制这个大正方形呢?我的意思是,如果按钮靠近窗口边框,则正方形将部分位于窗口之外。我还想向正方形添加一些阴影以及打开/关闭的动画。

一件重要的事情:我不仅希望能够绘制正方形,还希望能够绘制任何其他简单的形状(圆形)!

最佳答案

这实际上并不是一个绘图问题,而是一个一般的自定义 View 问题。做出这种区分很重要。

我将用矩形来描述这一点,以便为您提供总体思路*。您应该确保您理解 view hierarchyview geometry在 cocoa 中。如果没有这些重要的必要知识,您将永远死在水中。

设置 NSButton 的图像很容易,所以我将其留给您。但是,您的按钮的操作会告诉某些 Controller 显示给定按钮的“图像选择器”。您的图像选择器将是某种类型的 borderless window里面有一个图像列表。图像选择器可以是 IKImageBrowserView(您必须在 Interface Builder 中启用 Image Kit 才能显示此控件),它为您提供类似 iPhoto 的图像网格(带/不带标题、不同的边框类型等)。

对该 Controller 的操作以及它如何创建窗口、管理选择和设置按钮图像的解释非常广泛,因此如果您对其中任何步骤感到困惑,您可以需要为每个问题创建一个单独的问题,否则这个答案就必须是为您编写应用程序的说明手册。

<小时/>

* 你的问题有点困难,因为你希望有不同形状的“弹出窗口”......你必须确保你的可用照片完全适合形状,这样它们就不会被切断。掌握了 View 几何的基本知识后,我将把这个留给您作为练习。提示:您可以使用无边框的透明窗口来托管在 any shape you please 中绘制自身的 View 。 .

关于Cocoa:自定义控件不仅限于窗框 - 如何开始?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3404303/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com