2015-07-01 31 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]; 
} 
相關問題