2017-08-10 1 views
1

私は次のセットアップrxswiftでeditButtonItemを切り替えるにはどうすればいいですか?

override func viewDidLoad() { 

    super.viewDidLoad() 

    navigationItem.leftBarButtonItem = editButtonItem 

    navigationItem.leftBarButtonItem?.rx.tap.subscribe(onNext: { [weak self] _ in 

     print("edit tapped") 

     if let isEditing = self?.tableView.isEditing { 

      self?.tableView.setEditing(!isEditing, animated: true) 

     } 

     }).disposed(by: disposeBag) 
} 

を持っている問題はバーボタンアイテムをタップで切り替えされていないままです。左側のバーのI.Eテキストは、からに、に変更してください。を修正してください。

onNextメソッドのボタンタイトルを変更することもできません。

+1

editButtonのtapイベントを購読しないことをお勧めします。これは、デフォルトの編集/完了トグル動作を削除するためです。 rx.methodInvoked(#selector(UIViewController.setEditing(_:animated :)))を呼び出すことで、より良い代替案が見つかったと思います。また、UITableViewControllerを使用している場合は、TableViewの代わりにコントローラでseEditingを呼び出すことは完全に受け入れられます。 – nmdias

答えて

1

テーブルビューではなくselfsetEditingと電話する必要があります。 selfUITableViewControllerの場合は、テーブルビューの編集状態も変更されます。

関連する問題