ios實現點擊空白處關閉鍵盤

寫了個小應用,遇到了點擊空白處不能關閉鍵盤的問題以及切換view會致使home頁面先上去再下來的問題。把解決的辦法記下來app

主要使用了一個navigation。view也只有兩級。以下圖所示spa

遇到的問題是若是我設置了其中任一項參數以後沒有關閉鍵盤,而後直接點擊左上角的「back」,就會出現home view先填充滿整個view,而後又被navigation的navigationbar擠下來了。爲了解決掉這個問題,要麼在切換以前把鍵盤關掉,也得實現點擊空白處就能關閉鍵盤。那麼下面就是代碼code

  1. 切換前關閉鍵盤orm

    要切換view,那麼原來的view確定會先調用方法viewWillDisappear,那咱們就在調用該方法的時候把鍵盤關掉,那麼切換過去的時候鍵盤就已經處於關閉狀態了。從新實現viewWillDisappear以下:ip

       

-(void)viewWillDisappear:(BOOL)animated{
    [self IsValidToPop];
    
    [super viewWillAppear:animated];
    [self.view endEditing:YES];
}

  其中IsValidToPop是在切換的時候判斷當前設置完的參數的有效性,並保存參數到NSUserDefault中get

  2.  點擊空白處關閉鍵盤it

   在ViewDidLoad方法中添加以下代碼,就能夠實現了io

    UITapGestureRecognizer *tapGr = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(viewTapped:)];
    tapGr.cancelsTouchesInView = NO;
    [self.view addGestureRecognizer:tapGr];

 viewTapped是本身定義的方法
class

-(void)viewTapped:(UITapGestureRecognizer*)tapGr
{
    [ipText resignFirstResponder];
    [portText resignFirstResponder];
    [bufferText resignFirstResponder];
    [self IsValidToPop];
}

  主要功能就是讓當前view裏面全部的text窗口都交出第一響應的權限。而後校驗參數並保存。select

相關文章
相關標籤/搜索