在NSView中移动rect

时间:2014-10-16 19:22:23

标签: objective-c nsview cgrect

我有一个NSView子类"图形"在某些地方被绘制出来。

现在我想要一个公共方法来移动/调整rects。我试图设定一个新的起源,但这对我没有用。

rect.origin.x = anything;

现在我该如何移动rects?

问候

1 个答案:

答案 0 :(得分:1)

您正在使用名为" drawRect"的方法绘制矩形,每当NSView认为它需要重新显示时,它就会运行。

您的问题是您在此方法中设置矩形的初始位置,因此您在其他方法中所做的每个更改都不重要,并且每次都会重置。您应该在init或awakeFromNib等方法中设置矩形初始位置,这种方法只发生一次。

在您的按钮更改矩形原点的值后,您可以使用以下命令告诉视图重绘:

[self setNeedsDisplay:YES];

所以在更改rect原点的代码之后添加它,你应该没问题。