2015-07-01 3 views
1

У меня есть ViewController (v2) с UITextView. Я нажал эту точку зрения с viewController (V1). На V2 Когда я нажимаю на текст и клавиатуру, появляюсь после этого нажмите на кнопку «Назад» и переместитесь на V1. Я повторяю этот процесс 15-20 раз и замечаю, что производительность моего приложения становится очень медленной.iOS8: Когда появляется клавиатура и нажмите кнопку «Назад», в это время следующий вид появляется очень медленно

Издание является Клавиатура займет много времени, чтобы исчезнуть, когда я нажимаю на кнопку Назад:

Я использую следующую строку кода:

- (void)viewWillAppear:(BOOL)animated { 
    [super viewWillAppear:animated]; 

    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(willShowKeyboard:) name:UIKeyboardWillShowNotification object:nil]; 
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardWillHide:) name:UIKeyboardWillHideNotification object:nil]; 
    [[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(keyboardDidHide:) name:UIKeyboardDidHideNotification object:nil]; 

} 

- (IBAction)back:(id)sender 
{ 
    [self.navigationController popViewControllerAnimated:NO]; 
} 

- (void)viewDidAppear:(BOOL)animated { 
    [super viewDidAppear:animated]; 
    [noteView becomeFirstResponder]; 
} 

- (void)viewWillDisappear:(BOOL)animated { 

    [noteView resignFirstResponder]; 

    [[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillShowNotification object:nil]; 
    [[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillHideNotification object:nil]; 
    [[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardDidHideNotification object:nil]; 

    [super viewWillDisappear:animated]; 
} 

- (void)willShowKeyboard:(NSNotification *)notification 
{ 
    [UIView setAnimationsEnabled:NO]; 
} 
- (void)keyboardWillHide:(NSNotification *)notification 
{ 
    [UIView setAnimationsEnabled:NO]; 
} 

- (void)keyboardDidHide:(NSNotification *)notification 
{ 
    [UIView setAnimationsEnabled:NO]; 
} 

ответ

1

Это просто одна строка кода, чтобы закрыть клавиатуру, когда пользователь нажимает кнопку назад

- (IBAction)back:(id)sender 
{ 
    [self.view endEditing:YES]; 
    [self.navigationController popViewControllerAnimated:NO]; 
}