2017-02-19 3 views
-1

私のUIViewControlerには、UITableViewがあります。 tableViewで「空行」をタップすると、選択した行の選択を解除したいと考えています。私はそのタップのためのアクションを見つけることができません。これは可能ですか?私はSwift 3を使用しています。UITableViewをタップ(UITableViewCellではなく)

答えて

0

デフォルトでは、このような操作はありません。あなたはこの自分自身を構築することができます:

let view = UIView() 
view.backgroundColor = .red 
view.addGestureRecognizer(UITapGestureRecognizer(target: self, action: #selector(tableBackgroundTapped(tapGestureRecognizer:)))) 
tableView.backgroundView = view 

このコードは、新しいUIViewインスタンスを作成し、それにUITapGestureRecognizerを追加します。新しいUIViewインスタンスをtableViewbackgroundViewとして設定します。 backgroundViewは、tableViewの細胞の背後にあります。 背景をタップすると、tableBackgroundTapped(tapGestureRecognizer:)が呼び出されます。もちろん、あなたはその方法を追加する必要があります。

@objc func tableBackgroundTapped(tapGestureRecognizer: UITapGestureRecognizer) { 
    print("background tapped") 
} 

注:の例では、テストしたときに表示することが容易である.redbackgroundViewの色を設定します。これはタップが機能するためには必要ありません。

+0

ありがとう、それは私のために働く。 – xardes

関連する問題