NSTextFieldの位置は、次のようなアニメーターで簡単にアニメーション化できます。
[[textField animator] setFrameOrigin:NSMakePoint(x,y)];
次のように「CATrancation」コードに埋め込むこともできます。
[CATransaction begin];
[CATransaction setAnimationDuration:0.5];
[CATransaction setAnimationTimingFunction:[CAMediaTimingFunction functionWithName:kCAMediaTimingFunctionEaseOut]];
[[textField animator] setFrameOrigin:NSMakePoint(x,y)];
[CATransaction commit];
アニメーションデリゲートが必要な場合は、CABasicAnimationを使用できます
CABasicAnimation* animation = [CABasicAnimation animation];
animation.delegate = self;
NSDictionary *animations = [NSDictionary dictionaryWithObjectsAndKeys:animation,@"frameOrigin",nil];
[textField setAnimations:animations];
[[textField animator] setFrameOrigin:NSMakePoint(x,y)];
デリゲートメソッドは
- (void)animationDidStart:(CAAnimation *)theAnimation;
- (void)animationDidStop:(CAAnimation *)theAnimation finished:(BOOL)flag;
テキストフィールドをマスクする必要がある場合は、他のNSViewに埋め込むだけです。