2016-07-20 14 views
0

Ich versuche, einen Tableview-Controller innerhalb einer Containeransicht innerhalb eines View-Controllers anzuzeigen. Das ist mein Storyboard ein:(Swift) TableViewController in der Containeransicht eines ViewControllers anzeigen

enter image description here

enter image description here

Das sind meine swift Dateien:

Hier ist ein Code für meine Seite Ansicht klauen:

func getStepZero() -> ProfileViewController { 
    return storyboard!.instantiateViewControllerWithIdentifier("ProfileView") as! ProfileViewController 
    } 

    func getStepOne() -> HomeViewController { 
    return storyboard!.instantiateViewControllerWithIdentifier("HomeView") as! HomeViewController 
    } 

    func getStepTwo() -> MatchesSegueViewController { 
    return storyboard!.instantiateViewControllerWithIdentifier("MatchesSegueView") as! MatchesSegueViewController 
    } 

    func pageViewController(pageViewController: UIPageViewController, viewControllerBeforeViewController viewController: UIViewController) -> UIViewController? { 

    if viewController.isKindOfClass(MatchesSegueViewController) { 
     // 2 -> 1 
     return getStepOne() 
    } else if viewController.isKindOfClass(HomeViewController) { 
     // 1 -> 0 
     return getStepZero() 
    } else { 
     // 0 -> end of the road 
     return nil 
    } 
    } 

    func pageViewController(pageViewController: UIPageViewController, viewControllerAfterViewController viewController: UIViewController) -> UIViewController? { 

    if viewController.isKindOfClass(ProfileViewController) { 
     // 0 -> 1 
     return getStepOne() 
    } else if viewController.isKindOfClass(HomeViewController) { 
     // 1 -> 2 
     return getStepTwo() 
    } else { 
     // 2 -> end of the road 
     return nil 
    } 
    } 

Tableview-Code :

class MatchTableViewController: UITableViewController { 

    let cellId = "cellId" 

override func viewDidLoad() { 
    super.viewDidLoad() 

    // Uncomment the following line to preserve selection between presentations 
    // self.clearsSelectionOnViewWillAppear = false 

    // Uncomment the following line to display an Edit button in the navigation bar for this view controller. 
    // self.navigationItem.rightBarButtonItem = self.editButtonItem() 
} 

override func didReceiveMemoryWarning() { 
    super.didReceiveMemoryWarning() 
    // Dispose of any resources that can be recreated. 
} 

// MARK: - Table view data source 

override func numberOfSectionsInTableView(tableView: UITableView) -> Int { 
    // #warning Incomplete implementation, return the number of sections 
    return 0 
} 

override func tableView(tableView: UITableView, numberOfRowsInSection section: Int) -> Int { 
    // #warning Incomplete implementation, return the number of rows 
    return 5 
} 


override func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell { 
    // line below comes with function 
    //let cell = tableView.dequeueReusableCellWithIdentifier("reuseIdentifier", forIndexPath: indexPath) 

    // Configure the cell... 
    // lines below are from YouTube tutorial 
    let cell = UITableViewCell(style: .Subtitle, reuseIdentifier: cellId) 
    cell.textLabel?.text = "DUMMY TEXT" 

    return cell 
} 

Ich habe einen Page-View-Controller, also wenn ich nach rechts wische, gehe ich zu meinem View-Controller, der sofort über einen Embedded-Segue zu meinem Table-View-Controller wechseln soll (hoffentlich wird das Segment nicht gesehen). Wie kann ich das erreichen? Wenn ich nach rechts streiche, zeigt es mir eine leere Tabellenansicht, obwohl es einige Dummy-Datenzellen zeigen sollte.

Jede Hilfe wird sehr geschätzt.

+0

Können Sie einige Code schreiben "wie Sie mit der rechten Swipe" und Ihre Datenquelle von Tableview ? –

+0

@AliRiahipour Hinzugefügte Controller Code und Tabellenansicht Code – evanhaus

Antwort

1

aus dem Code,

Ändern Sie diesen Abschnitt Ihrer Tableviewcontroller

override func numberOfSectionsInTableView(tableView: UITableView) -> Int { 
// #warning Incomplete implementation, return the number of sections 
     return 0 
} 

Zu diesem

override func numberOfSectionsInTableView(tableView: UITableView) -> Int { 
// #warning Incomplete implementation, return the number of sections 
     return 1 
} 
+0

Das hat funktioniert! Vielen Dank – evanhaus

Verwandte Themen