我想构建一个像这样工作的自定义控件: 你有一种带有图像的NSButton。 您单击按钮,然后出现一个带有网格照片的大正方形。 您单击其中一张照片,它将设置为按钮的新图像。 (方形消息)
现在,如果我希望它不限于窗框,如何用照片绘制这个大方块? 我的意思是,如果按钮靠近窗口边框,则方块将部分位于窗口外。我还想在广场上添加一些阴影和一个用于打开/关闭的动画。
一件重要的事情:我希望不仅可以绘制正方形,还可以绘制任何其他简单形状(圆形)!
答案 0 :(得分:1)
这不是一个真正的绘图问题,而是一般的自定义视图问题。做出这种区分非常重要。
我将用矩形来描述这个,以便给出一般的想法*。您应确保了解Cocoa中的view hierarchy和view geometry。如果没有这些重要的必要知识,你将会死在水中。
设置NSButton的图像很容易,所以我会留给你。但是,按钮的操作会告诉某些控制器显示给定按钮的“图像选择器”。您的图像选择器将是某种类型的borderless window,其中包含图像列表。图像选择器可以是IKImageBrowserView(您必须在Interface Builder中启用Image Kit才能显示此控件),它会为您提供类似iPhoto的图像网格(带/不带标题,不同的边框类型等)。
说明此控制器的操作及其如何创建窗口,管理选择,并设置按钮的图像非常宽所以,如果您挂上任何这些步骤,我需要为每个问题创建 单独的问题 ,否则这个答案必须是为您编写应用程序的说明手册。
*你的问题有点困难,因为你希望有不同形状的“弹出窗口”...你必须确保你的可用照片整齐地整齐地形状,所以没有一个被切断。有了视图几何的基本知识,我会把它作为练习留给你。提示:您可以使用无边框透明窗口来托管在any shape you please中绘制自己的视图。