Ios 带tableview的UIPageViewController

Ios 带tableview的UIPageViewController,ios,iphone,swift,uitableview,uipageviewcontroller,Ios,Iphone,Swift,Uitableview,Uipageviewcontroller,我做了三件事: 内容VC“图像”0到所有维度“完整” VC“tableview”0到所有维度“完整” 页面控制器 我希望VC像“图像顶部60%,桌面视图底部40%”下面的图像一样。我必须将桌面视图和图像放在一个ViewController中还是分开 这是代码“我在CGRectMake中迷路了”tableview出现在顶部 self.pageViewController.view.frame = CGRectMake(0, 110, self.view.frame.width, self.view

我做了三件事:

  • 内容VC“图像”0到所有维度“完整”

  • VC“tableview”0到所有维度“完整”

  • 页面控制器

  • 我希望VC像“图像顶部60%,桌面视图底部40%”下面的图像一样。我必须将桌面视图和图像放在一个ViewController中还是分开

    这是代码“我在CGRectMake中迷路了”tableview出现在顶部

    self.pageViewController.view.frame = CGRectMake(0, 110, self.view.frame.width, self.view.frame.height - 300)
    
    self.addChildViewController(self.pageViewController)
    self.view.addSubview(self.pageViewController.view)
    self.pageViewController.didMoveToParentViewController(self)
    

    我会使用常规的
    UIViewController
    来保存tableView和图像

    它看起来像:

    override func viewDidLoad() {
        super.viewDidLoad()
    
        let imageViewFrame = CGRect(origin: CGPointZero, size: CGSize(width: view.frame.width, height:view.frame.height * 0.6) )
        let imageView = UIImageView(image: UIImage(named: "YOUR_IMAGE_NAME"))
        imageView.frame = imageViewFrame
        view.addSubview(imageView)
    
        let tableView = ... //create the tableview, set its delegate/datasource
        let tableViewOrigin: CGPoint = CGPoint(x: 0, y: view.frame.height * 0.6)
        let tableViewSize = CGSize(width: view.frame.width, height: view.frame.height * 0.4)
        tableView.frame = CGRect(origin: tableViewOrigin, size: tableViewSize) 
        view.addSubview(tableView)   
    }
    

    然后将此VC添加到您的pageViewController中

    我手动完成了它工作正常有一件事是应用程序在实现tableview数据源和委托后崩溃了?那太奇怪了,请看我看的那个项目。我的应用程序没有崩溃,但我确实需要更改
    cellforrowatinexpath
    中的一行。我将
    let cell=tableView.dequeueReusableCellWithIdentifier(“cell”,forindexath:indexath)
    更改为
    let cell=tableView.dequeueReusableCellWithIdentifier(“cell”,forindexath:indexath)为!UITableViewCell
    分配tableview委托和数据源后崩溃错误指向self.tabelview.datasource=self&delegate::error msg致命错误:在展开可选值时意外发现nil