如何为uibezierpath设置动画以使其脱颖而出

时间:2012-05-03 18:58:39

标签: objective-c ios uibezierpath

我的部分iPad应用程序允许用户绘制路径以连接屏幕的不同部分。它们都具有相同的颜色(白色)和线宽。每个路径都表示为UIBezierPath。除了他们的位置,他们看起来相同。由于用户一次只编辑一个路径,我想让它们可以直观地看到他们正在编辑的路径。

是否有办法为路径设置动画,以便用户有一个可视化队列,了解他们正在编辑哪条路径?我认为当前的路径可能会发光或移动虚线。我不想改变基色,因为我在应用的其他部分使用了很多颜色(几乎所有主要颜色除了白色)。

1 个答案:

答案 0 :(得分:0)

我没有以动画方式完成此操作,但是我将当前的绘制路径设置为虚线,然后在绘制结束后再实现。我将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: