2017-06-18 15 views
1

各セルに2つのテキストフィールドを持つテーブルビューがあります。私の意図する動作は、ユーザーが編集を終了するためにテーブルビューをドラッグするか、Returnキーを押して次のセル/テキストフィールドに進むことができるということです。私はtextFieldShouldReturntextfieldDidEndEditingメソッドを使用しようとしていましたが、EndEditingメソッドでは、最終編集の原因を特定できません。エンド編集のさまざまな原因による異なる動作

ドラッグするとtextfieldが編集を終了することを他の方法で判断する必要がありますか?

+0

textFieldDidEndEditingは、textFieldを返します。そこでは、textFIeld.tagを使用して、終了したばかりのフィールドを特定できます。ドラッグ検出コードでendEditing:YESを呼び出します。したがって、それをトリガーしたのがあなたのtextFieldであれば、ifがtextFieldのタグを持っているかどうかを確認できます。それ以外の場合はドラッグです。 – Gismay

答えて

1

まず、テーブルビューをドラッグするときにトリガーが必要です。ユーザーUITableViewDelegate

func scrollViewWillBeginDragging(_ scrollView: UIScrollView) { 
    yourTextField.resignFirstResponder() 
} 

から、この方法は、今、あなたはこのデリゲートメソッドであなたのテキストフィールドを見つける必要があります。私はちょうどあなたにこれについてのヒントを与えるでしょう。各セルにテキストフィールドがあるので、cellForRowメソッドでは、テキストフィールドのタグをindexPath.rowに設定するだけです。このデリゲートメソッドでは、インデックス番号でセルとテキストフィールドを見つけることができます。

+0

ありがとう、これは基本的に私がやったことです – milesper

関連する問題