2016-04-09 19 views
0

soru biraz bu yüzden sadeleştirilecektir kafa karıştırıcı görünebilir.Swift - Nasıl bunun içinde gömülü bir kap görünümü vardır görünüm denetleyicisinden navigasyon öğeyi (Düzenle) erişilir?

Ben bir görünüm denetleyicisi 2 konteyner görünümleri tutan (JournalViewController) yarattık (MealPlanViewController, ExerciseViewController - bu kabı göz ardı edebilirsiniz). MealPlanViewController bir UITableView var ve/silme sol gezinti Düzenle düğmesi öğesini kullanarak UITableView satır taşımak isterler. Ben JournalViewController gezinme öğesi oluşturduğunuzda Ancak, ben konteyner görünümün UITableView ile düzenlenebilir yapmak için nasıl bilmiyorum. Eğer kullanıcı düzenlemesi düğmesine bastığında bir IBAction kurarsınız mealPlanViewController sınıfta

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



} 

cevap

0

:

enter image description here

İşte benim JournalViewController sınıftır: Burada

bir örnektir. IBAction içerisinde, Tableview'i etkileyen herhangi bir işlevi arayabilirsiniz. Bu TableDelegate fonksiyonları sonra
@IBAction func editTable() { 
      tableView.setEditing(true, animated: true) 

    } 

silme ve satırları hareketli geçecek.

+0

Bunu yapmayı düşündüm, ama eğer bunu yaparsam, “func tableView” (tableView: UITableView, canEditRowAtIndexPath indexPath: NSIndexPath) -> Bool' yöntemini nasıl çağırırım? Tablo görünümü hücrelerin silinmesi ve/veya taşınması seçeneklerinin etkinleştirilmesi için bu yönteme ihtiyaç duyulmaktadır. – user3171597

+0

cevabı güncelledi. –

+0

Cevabınız için teşekkürler! Ve bunu ne kadar çok yeni olduğumdan beri özür dilerim, ama nasıl ScheduleViewController içinden programlı düzenle düğmesine bağlarım? Ya da storyboard'un içindeki düğmeyi belirleyip oluşturmam gerekiyor mu? – user3171597

İlgili konular