我很难说出标题,我也不知道这个问题是否是好的做法,但我相信这里有人会让我知道。
我有一个实用程序类,我正在添加一个将隐藏视图控制器上的键盘的类方法。
在 Utilities.m 中:
+ (void) hideKeyboard:(UIViewController*)viewController
{
//add gesture recognizer
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc]
initWithTarget:viewController action:@selector(dismissKeyboard)];
[viewController.view addGestureRecognizer:tap];
}
- (void)dismissKeyboard
{
//resign first responder
[viewController.view endEditing:YES]; //how can I get the correct VC here?
}
在我拥有的每个视图控制器中[Utilities hideKeyboard:self];
我不知道如何处理手势识别器的操作。
有没有办法以某种方式将操作设置为视图控制器中的方法?
前任:... action:@selector(VIEW_CONTROLLER_METHOD_HERE)];
我还尝试设置操作并传递参数,以便可以引用当前视图控制器,但我不知道如何在选择器中传递参数。这也不适合单例类,我不认为。
前任:... action:@selector(dismissKeyboard:VIEW_CONTROLLER)]; //I know this is wrong, but don't know how to do it correctly
那么,是否可以在实用程序类中创建手势识别器,还是我走错了方向?如果我需要更清楚地解释任何事情,请告诉我。