相关疑难解决方法(0)

如何使用Swift在iOS 8中正确添加子视图控制器

我一直在阅读文档,似乎仍然是一个棘手的问题.

我有一个视图控制器对象C_SelectPhoto.这有一个容器视图.在容器视图中,我希望childed视图控制器C_SelectPhotoControllerView适合它.它只是一系列照片.但是,设置框架和添加子视图控制器不起作用.如果我移动所需子视图控制器的x值,则不会发生任何影响.

为了弄清楚发生了什么,我用颜色编码了一切.下面的容器是橙色的.容器所期望的视图,根据故事板是黄色的.我实际上想要适应的视图是红色的.

这是故事板:

在此输入图像描述

这是我的C_SelectPhoto的控制器代码

class C_SelectPhoto:Controller
{
    @IBOutlet weak var selectPhotoControllerView: UIView!
    var _collectionViewController:C_SelectPhotoControllerView!

    //TODO PERMISSION IS NEEDED BEFORE FETCHING
    func initController()
    {   
        _collectionViewController = Controller.STORYBOARD.instantiateViewControllerWithIdentifier("selectPhotoControllerView") as C_SelectPhotoControllerView
        displayControllerViewController()
    }

    //show the photo selection
    private func displayControllerViewController()
    {
        addChildViewController(_collectionViewController)
        _collectionViewController.view.frame = CGRectMake(100, 0, 500, 500)
        self.view.addSubview(_collectionViewController.view)
        _collectionViewController.didMoveToParentViewController(self)
    }
}
Run Code Online (Sandbox Code Playgroud)

但结果是产生如下: 在此输入图像描述

首先,不应该添加黄色类,我只想要红色(UICollectionViewController类).其次,我可以告诉红色类被添加到错误的位置,因为它的x值根本没有移动它.

所以我的问题是:如何将UIContainerViewController作为子视图添加到主视图控制器C_SelectPhoto中,但是具有UIContainerViewController框架FIT我在主视图控制器中的容器?

谢谢!!!

注意:我尝试添加的视图是UICollectionViewControllers.当我添加一个UIViewController时,框架工作正常,但正如您在添加UICollectionViewControllers时所看到的那样,框架不起作用,并且它们被添加到随机偏移中并且不尊重我尝试使用框架分配来调整它们的大小.

storyboard uiviewcontroller ios uicollectionview swift

4
推荐指数
3
解决办法
2万
查看次数