我很難說出標題,而且我也不知道這個問題是否是好的做法,但我確定這裏有人會讓我知道。在Singleton類中添加GestureRecognizer和Action
我有一個工具類,我添加了一個類方法,將隱藏在視圖控制器上的鍵盤。
在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)];
我也嘗試設置操作和傳遞參數,所以我可以把目前的視圖控制器的引用,但我不知道如何傳遞參數的選擇。這也不適合Singleton類,我不認爲。
例如:... action:@selector(dismissKeyboard:VIEW_CONTROLLER)]; //I know this is wrong, but don't know how to do it correctly
那麼,是不是可以創造一個實用工具類手勢識別,還是我在錯誤的方向前進?如果我需要更清楚地解釋任何事情,請告訴我。
是否有你想要做這一切在一個單身的一個原因?另外,你什麼時候放下鍵盤?對於文本輸入? (resignFirstResponder?) –
爲了方便起見,我只需要在任何視圖控制器中調用'[Utilities hideKeyboard];'來隱藏鍵盤。 '[viewController.view endEditing:YES];'實際上辭去了第一個響應者。 (我不知道細節) – Ryan