所以我有一个名为*密码的IBOutlet NSSecureTextField,当我输入错误的密码时,我正在调用一个带动画的方法:
{{1}}
我想将此方法移入其自己的单独类中,但是如何将NSSecureTextField(或其他内容,例如按钮)作为参数传递?
答案 0 :(得分:1)
NSView是NSSecureTextField,NSButton,NSTextField的超类。所以你可以使用NSView作为参数
- (void)shakeWithStrength:(NSInteger)strength view:(NSView *)view {
CABasicAnimation *animation = [CABasicAnimation animationWithKeyPath:@"position"];
animation.fromValue = [NSValue valueWithPoint:CGPointMake(view.frame.origin.x-strength, view.frame.origin.y)];
animation.toValue = [NSValue valueWithPoint:CGPointMake(view.frame.origin.x+strength, view.frame.origin.y)];
[secureTextField.layer addAnimation:animation forKey:@"position"];
}