die Frage mag ein wenig verwirrend erscheinen, so werde ich vereinfachen.Swift - Zugriff auf das Navigationselement (Bearbeiten) vom View-Controller aus, in dem eine Containeransicht eingebettet ist?
Ich habe einen View-Controller (JournalViewController) erstellt, der 2 Containeransichten enthält (MealPlanViewController, ExerciseViewController - Sie können diesen Container ignorieren). Der MealPlanViewController hat eine UITableView und ich möchte in der Lage sein, die Zeilen der UITableview zu löschen/zu verschieben, indem ich die linke Navigationsschaltfläche Edit button benutze. Wenn ich jedoch das Navigationselement im JournalViewController erstelle, weiß ich nicht, wie es mit dem UITableView der Containeransicht bearbeitbar gemacht werden kann. Hier
ein Beispiel:
Hier ist meine JournalViewController Klasse:
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
})
}
}
}
Ich dachte daran, das zu tun, aber wenn ich das tue, wie würde ich die 'func Tableview nennen (Tableview: UITableView, canEditRowAtIndexPath indexPath: NSIndexPath) -> Bool' Methode? Da diese Methode benötigt wird, um die Optionen zum Löschen und/oder Verschieben von Tabellenansichtszellen zu aktivieren. – user3171597
aktualisierte die Antwort. –
Danke für die Antwort! Und ich entschuldige mich, da ich ziemlich neu bin, aber wie verbinde ich die Bearbeitungsschaltfläche programmatisch aus dem ScheduleViewController? Oder muss ich den Button innerhalb des Storyboards selbst angeben und erstellen? – user3171597