Łatwy sposób na odrzucenie klawiatury?

Mam sporo kontroli rozrzuconych po wielu komórkach tabeli w moim tabeli, i zastanawiałem się, czy jest łatwiejszy sposób, aby zwolnić klawiaturę bez konieczności pętli przez wszystkie moje kontrole i rezygnując je wszystkie jako pierwszy responder. Pytanie brzmi:. Jak uzyskać aktualną pierwszą odpowiedź na klawiaturę?

Author: James Webster, 2009-04-12

30 answers

Spróbuj:
[self.view endEditing:YES];

 777
Author: kirby,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2014-08-25 16:29:22

Możesz wymusić, aby edytowany widok zrezygnował ze statusu pierwszej odpowiedzi za pomocą [view endEditing:YES]. To ukrywa klawiaturę.

-[UIResponder resignFirstResponder], -[UIView endEditing:] przeszukuje podglądy, aby znaleźć bieżącego ratownika. Możesz więc wysłać go do widoku najwyższego poziomu (np. self.view w UIViewController) i zrobi to dobrze.

(ta odpowiedź wcześniej zawierała kilka innych rozwiązań, które również działały, ale były bardziej skomplikowane niż jest to konieczne. Usunąłem je, by uniknąć zamieszanie.)

 126
Author: Nicholas Riley,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-06-29 13:42:32

Możesz wysłać zerową akcję do aplikacji, zrezygnuje ona z pierwszej odpowiedzi w dowolnym momencie bez martwienia się o to, który Widok aktualnie ma status pierwszej odpowiedzi.

Objective-C:

[[UIApplication sharedApplication] sendAction:@selector(resignFirstResponder) to:nil from:nil forEvent:nil];

Swift 3.0:

UIApplication.shared.sendAction(#selector(resignFirstResponder), to: nil, from: nil, for: nil)

Zero ukierunkowanych działań jest powszechne w systemie Mac OS X dla poleceń menu, a oto zastosowanie dla nich na iOS.

 87
Author: Travelling Man,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-06-08 21:03:22

Szczerze mówiąc, nie szaleję za żadnym z proponowanych rozwiązań. Znalazłem fajny sposób na użycie Tapgesturerecognizera, który myślę, że trafia do sedna problemu: po kliknięciu na cokolwiek poza klawiaturą, zwolnij klawiaturę.

  1. W viewDidLoad Zarejestruj się, aby otrzymywać powiadomienia z klawiatury i utwórz UITapGestureRecognizer:

    NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
    
    [nc addObserver:self selector:@selector(keyboardWillShow:) name:
    UIKeyboardWillShowNotification object:nil];
    
    [nc addObserver:self selector:@selector(keyboardWillHide:) name:
    UIKeyboardWillHideNotification object:nil];
    
    tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self
    action:@selector(didTapAnywhere:)];
    
  2. Dodaj klawiaturę Pokaż/Ukryj odpowiedzi. Tam dodajesz i usuwasz TapGestureRecognizer do UIView, który powinien zamknąć klawiaturę po stuknięciu. Uwaga: nie musisz dodawać go do wszystkich pod-widoków lub kontrolek.

    -(void) keyboardWillShow:(NSNotification *) note {
        [self.view addGestureRecognizer:tapRecognizer];
    }
    
    -(void) keyboardWillHide:(NSNotification *) note
    {
        [self.view removeGestureRecognizer:tapRecognizer];
    }
    
  3. TapGestureRecognizer wywoła twoją funkcję, gdy zostanie dotknięta i możesz zamknąć klawiaturę w następujący sposób:

    -(void)didTapAnywhere: (UITapGestureRecognizer*) recognizer {    
        [textField resignFirstResponder];
    }
    

Fajną rzeczą w tym rozwiązaniu jest to, że filtruje tylko dla kranów, a nie przesunięć. Więc jeśli masz przewijanie zawartości nad klawiaturą, przesunięcia będą nadal przewijać i pozostawić wyświetloną klawiaturę. Przez usunięcie rozpoznawania gestów po zniknięciu klawiatury, Przyszłe dotknięcia widoku będą obsługiwane normalnie.

 56
Author: Brett Levine,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-07-15 09:47:30

Jest to rozwiązanie, dzięki któremu klawiatura zniknie po naciśnięciu return w dowolnym polu tekstowym, dodając kod w jednym miejscu (więc nie musisz dodawać obsługi dla każdego pola tekstowego):


Rozważ ten scenariusz:

Mam viewcontroller z dwoma polami tekstowymi (nazwa użytkownika i hasło). i viewcontroller implementuje UITextFieldDelegate protokół

Robię to w viewDidLoad

- (void)viewDidLoad 
{
    [super viewDidLoad];

    username.delegate = self;
    password.delegate = self;
}

I viewcontroller implementuje opcjonalną metodę jako

- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
    [textField resignFirstResponder];
    return YES;
}

I niezależnie od textfield, w którym jesteś, jak tylko nacisnę return na klawiaturze, zostaje odrzucony!

W Twoim przypadku to samo będzie działać tak długo, jak ustawisz cały delegat textfield na self i zaimplementujesz textFieldShouldReturn

 22
Author: prakash,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-03-14 05:36:17

Lepszym podejściem jest mieć coś" ukraść " status pierwszego reagowania.

Ponieważ UIApplication jest podklasą UIResponder, możesz spróbować:

[[UIApplication sharedApplication] becomeFirstResponder]
[[UIApplication sharedApplication] resignFirstResponder]

Jeśli to nie nastąpi, utwórz nowy UITextField z ramką o rozmiarze zerowym, dodaj go gdzieś do widoku i zrób coś podobnego (become a następnie resign).

 13
Author: Kendall Helmstetter Gelner,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-04-13 06:36:50

Schowaj to w jakiejś klasie użytkowej.

+ (void)dismissKeyboard {
    [self globalResignFirstResponder];
}

+ (void) globalResignFirstResponder {
    UIWindow * window = [[UIApplication sharedApplication] keyWindow];
    for (UIView * view in [window subviews]){
        [self globalResignFirstResponderRec:view];
    }
}

+ (void) globalResignFirstResponderRec:(UIView*) view {
    if ([view respondsToSelector:@selector(resignFirstResponder)]){
        [view resignFirstResponder];
    }
    for (UIView * subview in [view subviews]){
        [self globalResignFirstResponderRec:subview];
    }
}
 7
Author: lorean,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-06-24 17:27:57

@Nicholas Riley & @Kendall Helmstetter Geln& @ cannyboy:

Absolutnie genialne! Dziękuję.

Biorąc pod uwagę twoje rady i Rady innych w tym wątku, to jest to, co zrobiłem:

Jak wygląda przy użyciu:

[[self appDelegate] dismissKeyboard]; (Uwaga: dodałem appDelegate jako dodatek do NSObject, więc mogę używać wszędzie na czymkolwiek)

Jak to wygląda pod hood:

- (void)dismissKeyboard 
{
    UITextField *tempTextField = [[[UITextField alloc] initWithFrame:CGRectZero] autorelease];
    tempTextField.enabled = NO;
    [myRootViewController.view addSubview:tempTextField];
    [tempTextField becomeFirstResponder];
    [tempTextField resignFirstResponder];
    [tempTextField removeFromSuperview];
}

EDIT

Poprawka do mojej odpowiedzi na Zawarte tempTextField.enabled = NO;. Wyłączenie pola tekstowego uniemożliwi wysyłanie powiadomień z klawiatury UIKeyboardWillShowNotification i UIKeyboardWillHideNotification w przypadku korzystania z tych powiadomień w całej aplikacji.

 6
Author: Jeremy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-03-19 15:16:27

Wiele zbyt skomplikowanych odpowiedzi tutaj, być może dlatego, że nie jest to łatwe do znalezienia w dokumentacji iOS. JosephH miał to tuż nad:

[[view window] endEditing:YES];
 5
Author: Ian Wilkinson,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-03-30 17:29:53

Szybka porada, jak wyłączyć klawiaturę w systemie iOS, gdy użytkownik dotknie dowolnego miejsca na ekranie poza UITextField lub klawiaturą. Biorąc pod uwagę, ile nieruchomości może zająć klawiatura iOS, warto mieć łatwy i intuicyjny sposób na odrzucenie klawiatury przez użytkowników.

Oto link

 4
Author: Armen,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2011-09-17 15:44:04

Jeszcze prostsze niż odpowiedź Meagara

Zastąp touchesBegan:withEvent:

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event
{
    [textField resignFirstResponder];`
}

To będzie dismiss the keyboard Gdy dotkniesz gdziekolwiek w background.

 3
Author: user3032314,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-08-03 17:43:19

W pliku nagłówkowym kontrolera widoku dodaj <UITextFieldDelegate> do definicji interfejsu kontrolera tak, aby był on zgodny z protokołem delegatów UITextField...

@interface someViewController : UIViewController <UITextFieldDelegate>

... W pliku implementacji kontrolera (.M) dodaj następującą metodę lub kod wewnątrz niej, jeśli masz już metodę viewDidLoad ...

- (void)viewDidLoad
{
    // Do any additional setup after loading the view, typically from a nib.
    self.yourTextBox.delegate = self;
}

... Następnie połącz yourTextBox z rzeczywistym polem tekstowym

- (BOOL)textFieldShouldReturn:(UITextField *)theTextField 
{
    if (theTextField == yourTextBox) {
        [theTextField resignFirstResponder];
    }
    return YES;
}
 2
Author: user1270998,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-04-22 16:31:53

Oto, czego używam w moim kodzie. To działa jak urok!

W yourviewcontroller.h add:

@property (nonatomic) UITapGestureRecognizer *tapRecognizer;

Teraz w .plik m, dodaj to do funkcji ViewDidLoad:

- (void)viewDidLoad {
    //Keyboard stuff
    tapRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(didTapAnywhere:)];
    tapRecognizer.cancelsTouchesInView = NO;
    [self.view addGestureRecognizer:tapRecognizer];
}

Dodaj również tę funkcję w .plik m:

- (void)handleSingleTap:(UITapGestureRecognizer *) sender
{
    [self.view endEditing:YES];
}
 2
Author: Takide,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-01-07 19:55:26

Należy wysłać endEditing: do okna roboczego będącego podklasą UIView

[[UIApplication sharedApplication].windows.firstObject endEditing:NO];
 2
Author: malex,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-09-17 20:19:26

Najlepszym sposobem na wyłączenie klawiatury z UITableView i UIScrollView są:

tableView.keyboardDismissMode = UIScrollViewKeyboardDismissModeOnDrag
 2
Author: Manish Methani,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-04 10:41:57

W swift 3 możesz wykonać następujące czynności

UIApplication.shared.sendAction(#selector(UIResponder.resignFirstResponder), to: nil, from: nil, for: nil)
 2
Author: KeithC,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2017-02-20 19:18:54

ODPOWIEDŹ Jeremy ' ego nie działała dla mnie, myślę, że ponieważ miałem stos nawigacji w widoku kart z modalnym oknem na górze. Używam teraz następujących i działa dla mnie, ale twój przebieg może się różnić.

 // dismiss keyboard (mostly macro)
[[UIApplication sharedApplication].delegate dismissKeyboard]; // call this in your to app dismiss the keybaord

// --- dismiss keyboard (in indexAppDelegate.h) (mostly macro)
- (void)dismissKeyboard;

// --- dismiss keyboard (in indexAppDelegate.m) (mostly macro)
// do this from anywhere to dismiss the keybard
- (void)dismissKeyboard {    // from: http://stackoverflow.com/questions/741185/easy-way-to-dismiss-keyboard

    UITextField *tempTextField = [[UITextField alloc] initWithFrame:CGRectZero];

    UIViewController *myRootViewController = <#viewController#>; // for simple apps (INPUT: viewController is whatever your root controller is called.  Probably is a way to determine this progragrammatically)
    UIViewController *uivc;
    if (myRootViewController.navigationController != nil) { // for when there is a nav stack
        uivc = myRootViewController.navigationController;
    } else {
        uivc = myRootViewController;
    }

    if (uivc.modalViewController != nil) { // for when there is something modal
        uivc = uivc.modalViewController;
    } 

    [uivc.view  addSubview:tempTextField];

    [tempTextField becomeFirstResponder];
    [tempTextField resignFirstResponder];
    [tempTextField removeFromSuperview];
    [tempTextField release];

}
 1
Author: JJ Rohrer,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-11-23 18:45:50

Może być również konieczne obejście UIViewController disablesAutomaticKeyboardDismissal, aby to zadziałało w niektórych przypadkach. Może to być konieczne w UINavigationController, jeśli go posiadasz.

 1
Author: Craig Miller,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2012-07-16 12:55:15

Podklasuj swoje pola tekstowe... a także textviews

W podklasie umieść ten kod..

-(void)conformsToKeyboardDismissNotification{

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(dismissKeyBoard) name:KEYBOARD_DISMISS object:nil];
}

-(void)deConformsToKeyboardDismissNotification{

    [[NSNotificationCenter defaultCenter] removeObserver:self name:KEYBOARD_DISMISS object:nil];
}

- (void)dealloc{
    [[NSNotificationCenter defaultCenter] removeObserver:self];
    [self resignFirstResponder];
}

W delegatach textfield (podobnie dla delegatów textview)

-(void)textFieldDidBeginEditing:(JCPTextField *)textField{
     [textField conformsToKeyboardDismissNotification];
}


- (void)textFieldDidEndEditing:(JCPTextField *)textField{
    [textField deConformsToKeyboardDismissNotification];
}
Wszystko gotowe.. Teraz po prostu Opublikuj powiadomienie z dowolnego miejsca w kodzie. Zrezygnuje z każdej klawiatury.
 1
Author: mmmanishs,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2013-10-11 23:25:31

I w swift możemy zrobić

UIApplication.sharedApplication().sendAction("resignFirstResponder", to: nil, from: nil, forEvent: nil)
 1
Author: Eike,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-03-31 08:16:43

Aby wyłączyć klawiaturę po pojawieniu się klawiatury, są 2 przypadki ,

  1. Gdy pole UITextField jest wewnątrz UIScrollView

  2. Gdy pole UITextField znajduje się Poza UIScrollView

2.gdy pole UITextField znajduje się poza UIScrollView nadpisanie metody w podklasie UIViewController

Musisz również Dodać delegata dla wszystkich UITextView

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    [self.view endEditing:YES];
}
  1. W widoku przewijania, stukanie Na Zewnątrz nie uruchomi się żadne zdarzenie, więc w takim przypadku Użyj rozpoznawania gestów stukania , Przeciągnij i upuść UITapGesture dla widoku przewijania i Utwórz dla niego IBAction .

Aby utworzyć IBAction, naciśnij ctrl+ kliknij UITapGesture i przeciągnij go do .h plik viewcontroller.

Tutaj nazwałem tappedEvent jako nazwę mojej akcji

- (IBAction)tappedEvent:(id)sender {
      [self.view endEditing:YES];  }

Podane informacje pochodzą z poniższego linku, proszę zapoznać się z Więcej informacji lub skontaktuj się ze mną, jeśli nie rozumiesz o danych.

Http://samwize.com/2014/03/27/dismiss-keyboard-when-tap-outside-a-uitextfield-slash-uitextview/

 1
Author: ,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-12-02 05:32:11

Nienawidzę tego, że nie ma "globalnego" sposobu programowego zamykania klawiatury bez użycia prywatnych wywołań API. Często mam potrzebę programowego zwalniania klawiatury, nie wiedząc, jaki obiekt jest pierwszym odpowiedzialnym. Uciekłem się do sprawdzenia self za pomocą Runtime API Objective-C, wyliczenia wszystkich jego właściwości, wyciągnięcia tych, które są typu UITextField i wysłania im wiadomości resignFirstResponder.

To nie powinno być takie trudne...
 0
Author: LucasTizma,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2009-11-30 15:49:47

Nie jest ładny, ale sposób w jaki rezygnuję z pierwszej odpowiedzi, Gdy Nie wiem, co to jest Odpowiedź:

Utwórz pole UITextField w IB lub programowo. Ukryj to. Podlinkuj go do swojego kodu, jeśli zrobiłeś to w IB. Następnie, gdy chcesz odrzucić klawiaturę, przełączasz responder na niewidoczne pole tekstowe i natychmiast rezygnujesz z niego:

  [self.invisibleField becomeFirstResponder];
  [self.invisibleField resignFirstResponder];
 0
Author: cannyboy,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-05-24 18:34:26

Można rekurencyjnie iterować przez podwidywacze, przechowywać tablicę wszystkich pól UITextFields, a następnie zapętlać je i zrezygnować z nich wszystkich.

Niezbyt dobre rozwiązanie, zwłaszcza jeśli masz dużo podwidywań, ale w przypadku prostych aplikacji powinno to załatwić sprawę.

Rozwiązałem to w znacznie bardziej skomplikowany, ale o wiele bardziej wydajny sposób, ale używając Singletona / menedżera dla silnika animacji mojej aplikacji, i za każdym razem, gdy pole tekstowe stało się responder, przypisywałbym go do statycznego który zostałby zmieciony (zrezygnowany) na podstawie pewnych innych zdarzeń... to prawie niemożliwe, aby wyjaśnić w akapicie.

Bądź kreatywny, Zajęło mi to tylko 10 minut, aby przemyśleć to dla mojej aplikacji po tym, jak znalazłem to pytanie.

 0
Author: M. Ryan,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2010-09-10 21:04:44

Nieco bardziej solidna metoda, którą musiałem ostatnio użyć:

- (void) dismissKeyboard {
    NSArray *windows = [UIApplication sharedApplication].windows;

    for(UIWindow *window in windows) [window endEditing:true];

    //  Or if you're only working with one UIWindow:

    [[UIApplication sharedApplication].keyWindow endEditing:true];
}

Znalazłem niektóre inne "globalne" metody nie działają (na przykład, UIWebView & WKWebView odmówił rezygnacji).

 0
Author: mattsven,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-03-09 06:04:36

Dodaj do widoku rozpoznawanie gestów stukania.And define it ibaction

Twoje .plik m będzie jak
    - (IBAction)hideKeyboardGesture:(id)sender {
    NSArray *windows = [UIApplication sharedApplication].windows;
    for(UIWindow *window in windows) [window endEditing:true];
    [[UIApplication sharedApplication].keyWindow endEditing:true];
}

It ' s worked for me

 0
Author: Murat KAYA,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2015-03-24 11:23:47

Tak, endEditing jest najlepszą opcją. I od iOW 7.0, UIScrollView ma fajną funkcję, aby odrzucić klawiaturę podczas interakcji z widokiem przewijania. Aby to osiągnąć, możesz ustawić keyboardDismissMode Właściwość UIScrollView.

Ustaw tryb zamykania klawiatury jako:

tableView.keyboardDismissMode = UIScrollViewKeyboardDismissModeOnDrag
Ma kilka innych typów. Spójrz na ten dokument apple .
 0
Author: Shanmugaraja G,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-07-01 10:02:30

W języku swift:

self.view.endEditing(true)
 0
Author: YannickSteph,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-07-05 14:06:32

Łatwym sposobem jest wywołanie metody

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event 
{
    if(![txtfld resignFirstResponder])
    {
        [txtfld resignFirstResponder];
    }
    else
    {

    }
    [super touchesBegan:touches withEvent:event];
}
 0
Author: bharath gangupalli,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-08-03 16:13:36

Musisz użyć jednej z tych metod,

[self.view endEditing:YES];

Lub

[self.textField resignFirstResponder];
 0
Author: Vaibhav Shiledar,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/doraprojects.net/template/agent.layouts/content.php on line 54
2016-10-04 09:38:45