質問

I've built a custom control in Cocoa which is drawn using an NSBezierPath and I'd like it to change shape when it's state has changed (unused state = a pointed 'look here' edge, used state = standard control edge).

It feels like I've looked through every mention of "NSBezierPath" and "Animation" there is on the web but with no luck.

Before I crack out some NSTimers and write my own timing & path point controls, does anyone know if this is possible using Core Animation or similar?

役に立ちましたか?

解決

You could use NSAnimation. Create your own NSAnimation subclass, and override setCurrentProgress method. In that method, you can change your NSBezierPath size, shape or whatever you need, based on current animation progress. After that you can force a redraw in the view (via delegate, for instance) to re-display the path.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top