0

这个问题可能看起来有点混乱,所以我会简化一下。

我创建了一个视图控制器(JournalViewController),它包含 2 个容器视图(MealPlanViewController、ExerciseViewController - 你可以忽略这个容器)。MealPlanViewController 有一个 UITableView,我希望能够通过使用左侧导航编辑按钮项来删除/移动 UITableview 的行。但是,当我在 JournalViewController 中创建导航项时,我不知道如何使用容器视图的 UITableView 使其可编辑。

这是一个例子:

在此处输入图像描述

这是我的 JournalViewController 类:

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
        })
    }
}



}
4

1 回答 1

0

在mealPlanViewController 类中,您可以为用户按下编辑按钮时设置一个IBAction。在 IBAction 中,您可以调用任何影响 Tableview 的函数。

  @IBAction func editTable() {
          tableView.setEditing(true, animated: true)

  }

在此之后,您的 TableDelegate 函数将接管删除和移动行。

于 2016-04-10T05:09:07.707 回答