【问题标题】:How to animate a uibezierpath to make it stand out如何为 uibezierpath 设置动画以使其脱颖而出
【发布时间】:2012-05-03 18:58:38
【问题描述】:
我的 iPad 应用程序的一部分允许用户绘制连接屏幕不同部分的路径。它们都具有相同的颜色(白色)和线宽。每个路径都表示为一个 UIBezierPath。除了它们的位置,它们看起来相同。由于用户一次只编辑一个路径,因此我想让他们可以直观地看到他们正在编辑的路径。
有没有办法为路径设置动画,以便用户有一个关于他们正在编辑的路径的视觉队列?我在想也许当前的路径可能会发光或有移动的虚线。我不想更改基色,因为我在应用程序的其他部分使用了许多颜色(几乎所有主要颜色,除了白色)。
【问题讨论】:
标签:
objective-c
ios
uibezierpath
【解决方案1】:
我没有以动画方式完成此操作,但我将当前绘制的路径设置为虚线,然后在绘制结束后变为实线。我将 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