UINavigationController の「戻る」で遷移した場合に Keyboard を閉じる

Swift で UINavigationController の「戻る」で遷移した場合に、開いていたでキーボードを閉じたい時に、
UIViewController に

override func viewWillDisappear(animated: Bool) {
    super.viewWillDisappear(animated)
    self.view.endEditing(true)
}

と記述すればよさそうですが、これでは動作しません。
UINavigationController に以下の記述でキーボードを閉じることができるようになります。

override func popViewControllerAnimated(animated: Bool) -> UIViewController{
    // 戻るボタンをタップした際にキーボードを閉じる
    // UIViewController の viewWillDisappear では効かない
    self.view.endEditing(true)
    return super.popViewControllerAnimated(animated)!
}