- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想使用容器 View 来包含一个 Collection View 的三个实例。
我的网点是:
@IBOutlet weak var topContainer: UIView!
@IBOutlet weak var middleContainer: UIView!
@IBOutlet weak var bottomContainer: UIView!
我能做到:使用在 viewdidload 中重复代码的恶心解决方案:
topContainer.translatesAutoresizingMaskIntoConstraints = false
middleContainer.translatesAutoresizingMaskIntoConstraints = false
bottomContainer.translatesAutoresizingMaskIntoConstraints = false
// add child view controller view to container
if let controller = storyboard!.instantiateViewController(withIdentifier: "collectionscroll") as? CollectionScrollViewController {
addChild(controller)
controller.view.translatesAutoresizingMaskIntoConstraints = false
topContainer.addSubview(controller.view)
NSLayoutConstraint.activate([
controller.view.leadingAnchor.constraint(equalTo: topContainer.leadingAnchor),
controller.view.trailingAnchor.constraint(equalTo: topContainer.trailingAnchor),
controller.view.topAnchor.constraint(equalTo: topContainer.topAnchor),
controller.view.bottomAnchor.constraint(equalTo: topContainer.bottomAnchor)
])
controller.didMove(toParent: self)
}
if let controller = storyboard!.instantiateViewController(withIdentifier: "collectionscroll") as? CollectionScrollViewController {
addChild(controller)
controller.view.translatesAutoresizingMaskIntoConstraints = false
middleContainer.addSubview(controller.view)
NSLayoutConstraint.activate([
controller.view.leadingAnchor.constraint(equalTo: middleContainer.leadingAnchor),
controller.view.trailingAnchor.constraint(equalTo: middleContainer.trailingAnchor),
controller.view.topAnchor.constraint(equalTo: middleContainer.topAnchor),
controller.view.bottomAnchor.constraint(equalTo: middleContainer.bottomAnchor)
])
controller.didMove(toParent: self)
}
if let controller = storyboard!.instantiateViewController(withIdentifier: "collectionscroll") as? CollectionScrollViewController {
addChild(controller)
controller.view.translatesAutoresizingMaskIntoConstraints = false
bottomContainer.addSubview(controller.view)
NSLayoutConstraint.activate([
controller.view.leadingAnchor.constraint(equalTo: bottomContainer.leadingAnchor),
controller.view.trailingAnchor.constraint(equalTo: bottomContainer.trailingAnchor),
controller.view.topAnchor.constraint(equalTo: bottomContainer.topAnchor),
controller.view.bottomAnchor.constraint(equalTo: bottomContainer.bottomAnchor)
])
controller.didMove(toParent: self)
}
所以为了减少重复代码,我想到了使用循环:
lazy var containers : [UIView] = [topContainer, middleContainer, bottomContainer]
for container in containers {
container.translatesAutoresizingMaskIntoConstraints = false
if let controller = storyboard!.instantiateViewController(withIdentifier: "collectionscroll") as? CollectionScrollViewController {
addChild(controller)
controller.view.translatesAutoresizingMaskIntoConstraints = false
topContainer.addSubview(controller.view)
NSLayoutConstraint.activate([
controller.view.leadingAnchor.constraint(equalTo: container.leadingAnchor),
controller.view.trailingAnchor.constraint(equalTo: container.trailingAnchor),
controller.view.topAnchor.constraint(equalTo: container.topAnchor),
controller.view.bottomAnchor.constraint(equalTo: container.bottomAnchor)
])
controller.didMove(toParent: self)
}
}
但它不起作用 - 中间 View 不填充,最后一个不滚动。
如何在不复制 pasta codez 的情况下填充我的容器?
最佳答案
我看到一个错误。当您通过添加循环来转换代码时,您忘记了将其中一个 topContainer
更改为 container
。
改变:
topContainer.addSubview(controller.view)
到:
container.addSubview(controller.view)
关于swift - 循环添加到 ContainerViews,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57637384/
我使用 Xcode 和 Swift 制作了一个 iOS 应用程序。 一个 ViewController 包含两个 ContainerView。用户可以使用 SegmentedControl 在它们之间
我有一个设置,我使用导航 Controller ,其中包括一个嵌入页面 View Controller 及其内容的容器 View 。 从左起:UINavigationController,我的类 MT
我想使用容器 View 来包含一个 Collection View 的三个实例。 我的网点是: @IBOutlet weak var topContainer: UIView! @IBOutlet w
我想创建带有阴影和圆形边缘的自定义 ContainerView。此 ContainerView 以小矩形的形式放置在另一个 UIView 的顶部。在这种特殊情况下,使用 CoreGraphics 添加
我有一个 ViewController 和一个 Container View,它有一个嵌入式 TableViewController。 现在我想访问 ViewController 中的 TableVi
使用带有嵌入序列的 ContainerView 我得到这个: * 由于未捕获的异常“NSInvalidUnarchiveOperationException”而终止应用程序,原因:“无法实例化名为 U
我想使用自动布局实现期望的行为(或者如果这不可能使用委托(delegate)或其他东西)。我有一个带有一个静态单元格的 tableView,这个单元格有一个 containerView,它有一个带有动
我的情况是,现在我的应用程序使用 12 个 ViewController。 每个都有两个 ContainerView,它们拥有相同的控件集(我将它们称为控制组),并通过 segues 显示它们。 到目
我有我的 UIViewController ,这是一个人的个人资料页面,它显示他们的姓名和照片。其中UIViewController我有一个 UIContainerView显示静态 UITableVi
我在从一个 containerview 传递到另一个 UIViewController 时遇到了麻烦 下图展示了我想做的事情的 Storyboard。 我的应用程序有一个 Containerview,
我有三个按钮和一个 UIView(我称它为 containerView),点击每个按钮,containerView 将显示一个 View 在通过自定义 segue 的 UIViewController
我是 Swift 的新手,需要帮助将数据从 TableViewCell 传递到 ContainerView 以更改标签的某些文本。 我当前的状态是将数据从 TabelViewCell 传递到 View
我正在尝试从显示它的 UIViewController 更新 iOS 上 ContainerView(嵌入 UIView 中的 UIViewController)的界面内容。但是,ContainerV
我有一个嵌入了 UIViewController(名为 embedVC)的 containerView。 在 embedVC 中,我想模态另一个 ViewController(名为 modalVC),
我创建了一个 UIViewController,其中包含一个包含 UITableViewController 的 ContainerView。在 ParentViewController 的 View
我是 Swift 的新手,我正在尝试学习如何以编程方式构建 iOS 应用程序,但对 Storyboard 的使用非常有限。现在,目标是在应用程序顶部创建一个菜单,其中将包含按钮。根据我的研究,执行此操
我有一个 ViewController 和两个重叠的 ContainerViews。 但我没有找到如何在 RootViewController 中从 ContainerView 获取子对象的方法。 最
如果通过界面生成器使用 socket ,我知道如何将 ViewController 添加到容器中。您只需将导出从容器拖到 ViewController 和 boom,一切就绪。但是当谈到以编程方式进行
我有这个代码: 主视图.swift func showSubViewInContainerView(view: String, parms: Int){ let controller
我有这个 Storyboard: 和这段代码: var actualVisibleView : String? = nil func showSubViewInContainerView(view:
我是一名优秀的程序员,十分优秀!