传递NSTextFiels作为方法参数?

时间:2018-05-31 09:53:17

标签: objective-c xcode methods arguments

所以我有一个名为*密码的IBOutlet NSSecureTextField,当我输入错误的密码时,我正在调用一个带动画的方法:

{{1}}

我想将此方法移入其自己的单独类中,但是如何将NSSecureTextField(或其他内容,例如按钮)作为参数传递?

1 个答案:

答案 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"];
}
相关问题