我已经阅读了文档,但仍然卡在一个困难点上。
我有一个视图控制器对象 C_SelectPhoto。它包含一个容器视图。在容器视图中,我希望子视图控制器 C_SelectPhotoControllerView 能适应其中。它将只是一组照片的数组。但是,设置框架并添加子视图控制器并不起作用。如果我移动所需子视图控制器的 x 值,则不会发生任何效果。
为了弄清楚发生了什么,我对所有内容进行了彩色编码。容器如下,为橙色。根据故事板,容器期望的视图为黄色。我实际想要放置在那里的视图为红色。
以下是故事板:
这是我针对 C_SelectPhoto 的控制器代码。
然而,结果如下所示:
首先,黄色类根本不应该被添加,我只想要红色的(UICollectionViewController类)。其次,我可以看出红色类被添加到了错误的位置,因为它的x值根本没有移动。
所以我的问题是: 如何将UIContainerViewController作为子视图控制器添加到主视图控制器C_SelectPhoto中,但是让UIContainerViewController的框架适合我在主视图控制器中的容器?
谢谢!
注意:我正在尝试添加的视图是UICollectionViewControllers。当我添加一个UIViewController时,框架工作得很好,但是当我添加UICollectionViewControllers时,框架不起作用,它们被添加到随机偏移量,并且不考虑我尝试使用框架分配来调整它们的大小。
我有一个视图控制器对象 C_SelectPhoto。它包含一个容器视图。在容器视图中,我希望子视图控制器 C_SelectPhotoControllerView 能适应其中。它将只是一组照片的数组。但是,设置框架并添加子视图控制器并不起作用。如果我移动所需子视图控制器的 x 值,则不会发生任何效果。
为了弄清楚发生了什么,我对所有内容进行了彩色编码。容器如下,为橙色。根据故事板,容器期望的视图为黄色。我实际想要放置在那里的视图为红色。
以下是故事板:
![enter image description here](https://istack.dev59.com/zSMu5.webp)
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)
}
}
然而,结果如下所示:
![enter image description here](https://istack.dev59.com/dgqZU.webp)
所以我的问题是: 如何将UIContainerViewController作为子视图控制器添加到主视图控制器C_SelectPhoto中,但是让UIContainerViewController的框架适合我在主视图控制器中的容器?
谢谢!
注意:我正在尝试添加的视图是UICollectionViewControllers。当我添加一个UIViewController时,框架工作得很好,但是当我添加UICollectionViewControllers时,框架不起作用,它们被添加到随机偏移量,并且不考虑我尝试使用框架分配来调整它们的大小。