我的 iPad 应用程序的一部分允许用户绘制连接屏幕不同部分的路径。它们都具有相同的颜色(白色)和线宽。每个路径都表示为一个 UIBezierPath。除了它们的位置,它们看起来相同。由于用户一次只编辑一个路径,我想制作它,以便他们可以直观地看到他们正在编辑的路径。
有没有办法为路径设置动画,以便用户对他们正在编辑的路径有一个视觉队列?我在想也许当前的路径可能会发光或有移动的虚线。我不想更改基色,因为我在应用程序的其他部分使用了许多颜色(几乎所有主要颜色,除了白色)。
我的 iPad 应用程序的一部分允许用户绘制连接屏幕不同部分的路径。它们都具有相同的颜色(白色)和线宽。每个路径都表示为一个 UIBezierPath。除了它们的位置,它们看起来相同。由于用户一次只编辑一个路径,我想制作它,以便他们可以直观地看到他们正在编辑的路径。
有没有办法为路径设置动画,以便用户对他们正在编辑的路径有一个视觉队列?我在想也许当前的路径可能会发光或有移动的虚线。我不想更改基色,因为我在应用程序的其他部分使用了许多颜色(几乎所有主要颜色,除了白色)。
我没有以动画方式完成此操作,但我使当前绘制的路径具有虚线,然后在绘图结束后变为实线。我将 NSBezierPath 子类化,并添加了一个选定的属性。setSelected 方法如下所示:
-(void)setSelected:(BOOL) yes_no {
selected = yes_no;
if (yes_no == YES) {
CGFloat dashArray[2];
dashArray[0] = 5;
dashArray[1] = 2;
[self setLineDash:dashArray count:2 phase:0];
self.pathColor = [self.unselectedColor highlightWithLevel:.5];
} else {
[self setLineDash:nil count:2 phase:0];
self.pathColor = self.unselectedColor;
}
}
我在 mouseDragged: 方法中将属性设置为 YES,然后在 mouseUP 中将属性设置为 NO: