質問が少し混乱しているように見えるので、簡単にします。Swift - 内部にコンテナビューが埋め込まれているビューコントローラからナビゲーション項目(編集)にアクセスするにはどうすればいいですか?
2つのコンテナビュー(MealPlanViewController、ExerciseViewController - このコンテナは無視できます)を保持するビューコントローラ(JournalViewController)を作成しました。 MealPlanViewControllerにはUITableViewがあり、左のナビゲーションのEditボタン項目を使用してUITableviewの行を削除/移動できるようにします。しかし、JournalViewControllerでナビゲーションアイテムを作成すると、コンテナビューのUITableViewで編集可能にする方法がわかりません。ここで
は一例です。ここで
は私JournalViewControllerクラスである:mealPlanViewControllerクラスで
import UIKit
class JournalViewController: UIViewController {
@IBOutlet var exerciseContainerView: UIView!
@IBOutlet var mealContainerView: UIView!
@IBOutlet var mealOrExerciseControl: UISegmentedControl!
var mealScheduleTableView: UITableView?
override func viewDidLoad() {
super.viewDidLoad()
self.navigationItem.leftBarButtonItem = self.editButtonItem()
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
@IBAction func showComponent(sender: UISegmentedControl)
{
if sender.selectedSegmentIndex == 0
{
UIView.animateWithDuration(0.5, animations:
{
self.exerciseContainerView.alpha = 0
self.mealContainerView.alpha = 1
self.navigationItem.leftBarButtonItem = self.editButtonItem()
})
}
else
{
UIView.animateWithDuration(0.5, animations:
{
self.exerciseContainerView.alpha = 1
self.mealContainerView.alpha = 0
self.navigationItem.leftBarButtonItem = nil
})
}
}
}
私はそれについて考えましたが、もしそれを行うと、func tableView(tableView:UITableView、canEditRowAtIndexPath indexPath:NSIndexPath) - > Bool'メソッドとはどのように呼びますか?このメソッドは、テーブルビューのセルを削除および/または移動するためのオプションをアクティブにするために必要です。 – user3171597
が答えを更新しました。 –
答えをありがとう!そしてこれはかなり新しいので、私はお詫びしますが、どのようにScheduleViewController内からプログラムで編集ボタンに接続しますか?または、ストーリーボード自体の中にボタンを指定して作成する必要がありますか? – user3171597