Manera fácil de descartar teclado?


Tengo bastantes controles dispersos en muchas celdas de la tabla en mi tabla, y me preguntaba si hay una manera más fácil de descartar el teclado sin tener que recorrer todos mis controles y renunciar a todos como el primer respondedor. Supongo que la pregunta es.. ¿Cómo conseguiría el primer respondedor actual al teclado?

Author: James Webster, 2009-04-12

30 answers

Intente:
[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/ajaxhispano.com/template/agent.layouts/content.php on line 61
2014-08-25 16:29:22

Puede forzar a la vista actualmente editando a renunciar a su estado de primer respondedor con [view endEditing:YES]. Esto oculta el teclado.

A diferencia -[UIResponder resignFirstResponder], -[UIView endEditing:] buscará a través de subviews para encontrar el primer respondedor actual. Así que puede enviarlo a su vista de nivel superior (por ejemplo, self.view en un UIViewController) y hará lo correcto.

(Esta respuesta anteriormente incluía un par de otras soluciones, que también funcionaron, pero eran más complicadas de lo necesario. Los he quitado para evitar confusión.)

 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/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-06-29 13:42:32

Puede enviar una acción dirigida nil a la aplicación, renunciará al primer respondedor en cualquier momento sin tener que preocuparse por qué vista tiene actualmente el estado de primer respondedor.

Objetivo-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)

Las acciones dirigidas Nil son comunes en Mac OS X para los comandos de menú, y aquí hay un uso para ellos en 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/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-06-08 21:03:22

Para ser honesto, no estoy loco por ninguna de las soluciones propuestas aquí. Encontré una buena manera de usar un TapGestureRecognizer que creo que llega al corazón de tu problema: Cuando haces clic en cualquier cosa que no sea el teclado, despídelo.

  1. En viewDidLoad, regístrese para recibir notificaciones de teclado y cree un 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. Agregue el teclado mostrar/ocultar respondedores. Allí se agrega y elimina el TapGestureRecognizer a la UIView que debe descartar el teclado cuando se pulsa. Nota: No es necesario agregarlo a todas las sub-vistas o controles.

    -(void) keyboardWillShow:(NSNotification *) note {
        [self.view addGestureRecognizer:tapRecognizer];
    }
    
    -(void) keyboardWillHide:(NSNotification *) note
    {
        [self.view removeGestureRecognizer:tapRecognizer];
    }
    
  3. El TapGestureRecognizer llamará a su función cuando se toque y puede descartar el teclado de esta manera:

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

Lo bueno de esta solución es que solo filtra para grifos, no desliza. Por lo tanto, si tiene contenido de desplazamiento por encima del teclado, swipes seguirá desplazándose y dejará el teclado mostrado. Por al eliminar el reconocedor de gestos después de que el teclado se haya ido, los toques futuros en su vista se manejan normalmente.

 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/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-07-15 09:47:30

Esta es una solución para hacer que el teclado desaparezca cuando se presiona return en cualquier campo de texto, agregando código en un solo lugar (así que no tiene que agregar un controlador para cada campo de texto):


Considere este escenario:

Tengo un viewcontroller con dos campos de texto (nombre de usuario y contraseña). y el viewcontroller implementa el protocolo UITextFieldDelegate

Hago esto en viewDidLoad

- (void)viewDidLoad 
{
    [super viewDidLoad];

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

Y el viewcontroller implementa el método opcional como

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

E independientemente de la textfield usted está en, tan pronto como pulse return en el teclado, se descarta!

En su caso, lo mismo funcionaría siempre y cuando establezca todo el delegado del campo de texto en self e implemente 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/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-03-14 05:36:17

Un mejor enfoque es hacer que algo "robe" el estado del primer respondedor.

Dado que UIApplication es una subclase de UIResponder, puedes probar:

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

En su defecto, crear un nuevo UITextField con un marco de tamaño cero, añadirlo a una vista en algún lugar y hacer algo similar (ser seguido por renunciar).

 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/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-04-13 06:36:50

Guarda esto en alguna clase de utilidad.

+ (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/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-06-24 17:27:57

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

Absolutamente brillante!

Gracias.

Considerando tu consejo y el consejo de otros en este hilo, esto es lo que he hecho:

Qué aspecto tiene cuando se usa:

[[self appDelegate] dismissKeyboard]; (nota: Agregué AppDelegate como una adición a NSObject para que pueda usar cualquier lugar en cualquier cosa)

Lo que parece debajo de la hood:

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

EDITAR

Enmienda a mi respuesta a included tempTextField.enabled = NO;. Deshabilitar el campo de texto evitará que se envíen notificaciones de teclado UIKeyboardWillShowNotification y UIKeyboardWillHideNotification si confías en estas notificaciones en toda la aplicación.

 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/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-03-19 15:16:27

Un montón de respuestas demasiado complicadas aquí, tal vez porque esto no es fácil de encontrar en la documentación de iOS. Josefh lo tenía justo arriba:

[[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/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-03-30 17:29:53

Consejo rápido sobre cómo descartar el teclado en iOS cuando un usuario toca en cualquier lugar de la pantalla fuera del UITextField o teclado. Teniendo en cuenta la cantidad de bienes raíces que puede ocupar el teclado iOS, tiene sentido tener una forma fácil e intuitiva para que sus usuarios descarten el teclado.

Aquí está un enlace

 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/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-09-17 15:44:04

Aún más simple que la respuesta de Meagar

Sobrescribir touchesBegan:withEvent:

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

Esto será dismiss the keyboard cuando toque en cualquier lugar de la 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/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-08-03 17:43:19

En el archivo de encabezado de su controlador de vista agregue <UITextFieldDelegate> a la definición de la interfaz de su controlador para que se ajuste al protocolo delegado UITextField...

@interface someViewController : UIViewController <UITextFieldDelegate>

... En el archivo de implementación del controlador (.m) agregue el siguiente método, o el código dentro de él si ya tiene un método viewDidLoad ...

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

... Luego, vincule yourTextBox a su campo de texto real

- (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/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-04-22 16:31:53

Esto es lo que uso en mi código. Funciona como un encanto!

En yourviewcontroller.h añadir:

@property (nonatomic) UITapGestureRecognizer *tapRecognizer;

Ahora en el .m archivo, agregue esto a su función viewDidLoad:

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

También, agregue esta función en el .archivo 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/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-01-07 19:55:26

Debe enviar endEditing: a la ventana de trabajo siendo la subclase de 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/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-09-17 20:19:26

La mejor manera de descartar el teclado de UITableView y UIScrollView son:

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/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-10-04 10:41:57

En swift 3 puedes hacer lo siguiente

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/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-02-20 19:18:54

La respuesta de Jeremy no estaba funcionando para mí, creo que porque tenía una pila de navegación en una vista de pestaña con un diálogo modal encima. Estoy usando lo siguiente en este momento y está funcionando para mí, pero su kilometraje puede variar.

 // 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/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-11-23 18:45:50

También puede necesitar anular UIViewController disablesAutomaticKeyboardDismissal para que esto funcione en algunos casos. Esto puede tener que hacerse en el UINavigationController si tiene uno.

 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/ajaxhispano.com/template/agent.layouts/content.php on line 61
2012-07-16 12:55:15

Subclase sus campos de texto... y también textviews

En la subclase ponga este código..

-(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];
}

En los delegados textfield (de manera similar para los delegados textview)

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


- (void)textFieldDidEndEditing:(JCPTextField *)textField{
    [textField deConformsToKeyboardDismissNotification];
}

Todo listo.. Ahora solo tienes que publicar la notificación desde cualquier lugar de tu código. Renunciará a cualquier teclado.

 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/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-10-11 23:25:31

Y en swift podemos hacer

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/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-03-31 08:16:43

Para descartar un teclado después de que el teclado ha aparecido, hay 2 casos ,

  1. Cuando el UITextField está dentro de UIScrollView

  2. Cuando el UITextField está fuera de UIScrollView

2.cuando el campo UITextField está fuera de UIScrollView anular el método en su subclase UIViewController

También debe agregar delegado para todos UITextView

- (void)touchesBegan:(NSSet *)touches withEvent:(UIEvent *)event {
    [self.view endEditing:YES];
}
  1. En una vista de desplazamiento , Tocando outside no disparará ningún evento, por lo que en ese caso use un Reconocedor de gestos Tap, Arrastre y suelte una UITapGesture para la vista de desplazamiento y cree una IBAction para ella.

Para crear una IBAction, presione ctrl + haga clic en la UITapGesture y arrástrela a .archivo h de viewcontroller.

Aquí he nombrado tappedEvent como mi nombre de acción

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

La información dada se derivó del siguiente enlace, consulte para obtener más información o póngase en contacto conmigo si usted no entiende los datos abouve.

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/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-12-02 05:32:11

Odio que no haya una forma "global" de descartar programáticamente el teclado sin usar llamadas API privadas. Con frecuencia, tengo la necesidad de descartar el teclado mediante programación sin saber qué objeto es el primero en responder. He recurrido a inspeccionar la self usando la API de tiempo de ejecución de Objective-C, enumerando todas sus propiedades, sacando aquellas que son de tipo UITextField y enviándoles el mensaje resignFirstResponder.

No debería ser tan difícil hacer esto...

 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/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-11-30 15:49:47

No es bonito, pero la forma en que renuncio al primer respondedor cuando no sé qué es el respondedor:

Cree un UITextField, ya sea en IB o mediante programación. Hazlo escondido. Enlázalo a tu código si lo hiciste en IB. Luego, cuando desee descartar el teclado, cambie el respondedor al campo de texto invisible e inmediatamente renuncie a él:

  [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/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-05-24 18:34:26

Puede iterar recursivamente a través de subviews, almacenar una matriz de todos los UITextFields, y luego pasar por ellos y renunciar a todos.

No es realmente una gran solución, especialmente si tienes muchas subviews, pero para aplicaciones simples debería hacer el truco.

Resolví esto de una manera mucho más complicada, pero mucho más eficiente, pero usando un singleton / manager para el motor de animación de mi aplicación, y cada vez que un campo de texto se convirtiera en el respondedor, lo asignaría a un campo estático que sería barrido (resignado) basado en ciertos otros eventos... es casi imposible para mí explicarlo en un párrafo.

Sé creativo, solo me tomó 10 minutos pensar en esto para mi aplicación después de encontrar esta pregunta.

 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/ajaxhispano.com/template/agent.layouts/content.php on line 61
2010-09-10 21:04:44

Un método un poco más robusto que necesitaba usar recientemente:

- (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];
}

Encontré que algunos de los otros métodos "globales" no funcionaban (por ejemplo, UIWebView & WKWebView se negó a renunciar).

 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/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-03-09 06:04:36

Agrega un Reconocedor de gestos Tap a tu vista.Y definirlo ibaction

Su .m archivo será como

    - (IBAction)hideKeyboardGesture:(id)sender {
    NSArray *windows = [UIApplication sharedApplication].windows;
    for(UIWindow *window in windows) [window endEditing:true];
    [[UIApplication sharedApplication].keyWindow endEditing:true];
}

Ha funcionado para mí

 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/ajaxhispano.com/template/agent.layouts/content.php on line 61
2015-03-24 11:23:47

Sí, endEditing es la mejor opción. Y desde iOW 7.0, UIScrollView tiene una característica genial para descartar el teclado al interactuar con la vista de desplazamiento. Para lograr esto, puede establecer keyboardDismissMode propiedad de UIScrollView.

Establezca el modo de exclusión del teclado como:

tableView.keyboardDismissMode = UIScrollViewKeyboardDismissModeOnDrag

Tiene pocos otros tipos. Echa un vistazo a este documento de 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/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-07-01 10:02:30

En 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/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-07-05 14:06:32

La forma más sencilla es llamar al método

- (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/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-08-03 16:13:36

Tienes que usar uno de estos métodos,

[self.view endEditing:YES];

O

[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/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-10-04 09:38:45