高级绘图主题与Core Animation入门
1. 贝塞尔曲线界面设置
首先,我们要对贝塞尔曲线相关的界面进行设置。将界面上的两个标签改为 “X1:” 和 “Y1:”,并为表单中的每个单元格创建绑定。具体操作是将每个单元格的 Value 属性分别绑定到 CurveEdit_AppDelegate 对象,使用的模型键路径为 cp1X 和 cp1Y。接着,复制 NSForm 并将其放置在第一个的右侧,这个新表单用于显示第二个控制点的值,所以将其标签重命名为 “X2:” 和 “Y2:”,并设置类似的绑定,不过使用 cp2X 和 cp2Y 作为键路径。
完成这些设置后,参考相关示例进行布局调整,调整窗口大小以适应添加的内容。保存工作,回到 Xcode 构建并运行项目,确保此时没有错误。此时运行的应用程序只能让你编辑四个文本字段,但后续我们会进行改进。
2. 曲线视图类的基础设施搭建
2.1 定义属性
在 CurveView 类中,我们需要跟踪两个控制点,将其设置为四个浮点型变量,并通过属性进行访问。同时,为了让 GUI 能根据渲染大小进行缩放,我们设置固定的边界,确保曲线始终绘制在平面上 (0,0) 到 (1,1) 的正方形区域内,并在周围留出一些额外空间。以下是相关代码:
// CurveView.h:
#import <Cocoa/Cocoa.h>
@interface CurveView : NSView {
NSRect myBounds;
CGFloat cp1X;
CGFloat cp1Y;
CGFloat