【问题标题】:(Swift) Show TableViewController in a ViewController's Container view(Swift) 在 ViewController 的容器视图中显示 TableViewController
【发布时间】:2016-07-20 04:10:24
【问题描述】:

我正在尝试让 tableview 控制器显示在视图控制器内的容器视图内。这是我的故事板设置:

这些是我的 swift 文件:

这是我的页面视图滑动的一些代码:

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

表格视图代码:

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
}

我有一个页面视图控制器,所以当我向右滑动时,我会转到我的视图控制器,该控制器应该立即通过嵌入转场连接到我的表格视图控制器(希望不会看到转场)。我怎样才能做到这一点?当我向右滑动时,它会显示一个空的表格视图,即使它应该显示一些虚拟数据单元格。

非常感谢任何帮助。

【问题讨论】:

  • 你能发布一些“你如何向右滑动”的代码和你的tableview数据源吗?
  • @AliRiahipour 添加了页面视图控制器代码和表格视图代码

标签: swift uitableview uiviewcontroller uipageviewcontroller


【解决方案1】:

根据您的代码,

更改 tableViewController 的这一部分

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

到这里

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

【讨论】:

    猜你喜欢
    • 2016-11-29
    • 1970-01-01
    • 1970-01-01
    • 2016-03-22
    • 1970-01-01
    • 2012-04-19
    • 1970-01-01
    • 2015-05-05
    • 2012-10-18
    相关资源
    最近更新 更多