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