Swift-如何在不中断内容的情况下在视图之间创建空间

paco8

在此处输入图片说明

我在容器(A)中有一个视图控制器(B),我想在两者之间创建一些空间。现在,我所拥有的就像左边的图像一样,我创建的填充占据了B的空间,并且内容被截断了。右边的图像是理想的结果,其中B将具有圆角,并且距A会有更多空间。这是我的容器类中的代码现在的样子:

private func configureSampleContainer() {
    sampleController.view.layer.borderColor = UIColor.clear
    sampleController.view.layer.borderWidth = 10
    sampleController.view.clipsToBounds = true
    addChild(sampleController)
    sampleController.view.translatesAutoresizingMaskIntoConstraints = false
    NSLayoutConstraint.constrain(view: sampleController.view, containerView: sampleContainer)
    sampleController.didMove(toParent: self)
}

configureSampleContainer在viewDidLoad内部调用。

视图控制器B还在其他地方使用,因此理想情况下我不会在B中进行任何更改。那么如何从我的容器类A编程地实现这一点?

詹布兰卡德

我相信您唯一需要做的就是在sampleController的视图中添加更多约束。

定义扩展名或仅使用我创建的扩展名的主体。

extension UIViewController {

  func constrain(with margin: CGFloat, to: UIViewController) {
    view.translatesAutoresizingMaskIntoConstraints = false
    view.topAnchor.constraint(equalTo: to.view.topAnchor, constant: margin).isActive = true
    view.leftAnchor.constraint(equalTo: to.view.leftAnchor, constant: margin).isActive = true
    view.rightAnchor.constraint(equalTo: to.view.rightAnchor, constant: margin).isActive = true
    view.bottomAnchor.constraint(equalTo: to.view.bottomAnchor, constant: margin).isActive = true
  }

}

这样将在您的上下文中使用。

private func configureSampleContainer() {
  sampleController.view.layer.borderColor = UIColor.clear
  sampleController.view.layer.borderWidth = 10
  sampleController.view.clipsToBounds = true
  addChild(sampleController)
  sampleController.constrain(with: 30, to: view)
  sampleController.didMove(toParent: self)
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在没有prepareForSegue的情况下在Swift文件之间传递数据?

来自分类Dev

如何在没有任何包装类的情况下在ios swift中创建sqlite数据库并使用它

来自分类Dev

如何在不中断连接的情况下在node.js mysql中使用递归?

来自分类Dev

如何在不中断的情况下在SVG中变换对象?

来自分类Dev

如何在没有Xcode IDE的情况下在Swift中进行开发

来自分类Dev

Swift:如何在没有情节提要的情况下在Container View中更新数据

来自分类Dev

如何在没有通用用法的情况下在Swift 3.0中使用Set

来自分类Dev

如何在没有AlamoFire的情况下在Swift 3中同时发出异步HTTP请求

来自分类Dev

如何在不定义新类的情况下在 Swift 中实现 Objective-C

来自分类Dev

如何在不包括年份的情况下在 Swift 4 中显示日期?

来自分类Dev

如何在不中断异步/等待的情况下创建HttpWebRequest?

来自分类Dev

Debian实时安装“如何在不中断实时会话的情况下在终端上启动安装程序?”

来自分类Dev

如何在不中断Kinect的情况下运行方法

来自分类Dev

如何在不使用UIWebView的情况下在iOS 10中使用HTML标签显示文本(使用Swift)

来自分类Dev

如何在不使Swift中的单元格透明的情况下使UICollection视图的背景透明

来自分类Dev

Swift:如何在不增强其他对象的情况下创建对它的引用?

来自分类Dev

如何在不中断客户端与服务器之间的https隧道的情况下配置apache反向代理?

来自分类Dev

如何在不中断客户端与服务器之间的https隧道的情况下配置apache反向代理?

来自分类Dev

“在以后的Swift版本中不推荐使用Selector关键字”如何在没有编辑菜单的情况下在对话框中创建键盘快捷键

来自分类Dev

如何在不中断make过程的情况下中断make中的过程

来自分类Dev

如何在Swift中在没有代码重复的情况下实现具有相同内容的两个init?

来自分类Dev

如何在没有任何第三方库的情况下在Swift 3.0中使用Alamofire解析JSON

来自分类Dev

如何在没有任何其他内容的情况下在phalcon中加载视图

来自分类Dev

如何在不使用Coredata的情况下使用swift在IOS的两个扩展之间共享变量值

来自分类Dev

如何在不动态加载模板的情况下在视图内部创建隔离作用域?

来自分类Dev

swift:如何在不创建包含上述对象数组的结构的情况下解码json对象数组?

来自分类Dev

如何在不破坏设计的情况下在自举列之间创建边距?

来自分类Dev

如何在不使用主动模式的情况下在 FritzBox 和 pfsense 之间创建 IPsec 隧道?

来自分类Dev

如何在Swift中创建按钮以更改相机视图?

Related 相关文章

  1. 1

    如何在没有prepareForSegue的情况下在Swift文件之间传递数据?

  2. 2

    如何在没有任何包装类的情况下在ios swift中创建sqlite数据库并使用它

  3. 3

    如何在不中断连接的情况下在node.js mysql中使用递归?

  4. 4

    如何在不中断的情况下在SVG中变换对象?

  5. 5

    如何在没有Xcode IDE的情况下在Swift中进行开发

  6. 6

    Swift:如何在没有情节提要的情况下在Container View中更新数据

  7. 7

    如何在没有通用用法的情况下在Swift 3.0中使用Set

  8. 8

    如何在没有AlamoFire的情况下在Swift 3中同时发出异步HTTP请求

  9. 9

    如何在不定义新类的情况下在 Swift 中实现 Objective-C

  10. 10

    如何在不包括年份的情况下在 Swift 4 中显示日期?

  11. 11

    如何在不中断异步/等待的情况下创建HttpWebRequest?

  12. 12

    Debian实时安装“如何在不中断实时会话的情况下在终端上启动安装程序?”

  13. 13

    如何在不中断Kinect的情况下运行方法

  14. 14

    如何在不使用UIWebView的情况下在iOS 10中使用HTML标签显示文本(使用Swift)

  15. 15

    如何在不使Swift中的单元格透明的情况下使UICollection视图的背景透明

  16. 16

    Swift:如何在不增强其他对象的情况下创建对它的引用?

  17. 17

    如何在不中断客户端与服务器之间的https隧道的情况下配置apache反向代理?

  18. 18

    如何在不中断客户端与服务器之间的https隧道的情况下配置apache反向代理?

  19. 19

    “在以后的Swift版本中不推荐使用Selector关键字”如何在没有编辑菜单的情况下在对话框中创建键盘快捷键

  20. 20

    如何在不中断make过程的情况下中断make中的过程

  21. 21

    如何在Swift中在没有代码重复的情况下实现具有相同内容的两个init?

  22. 22

    如何在没有任何第三方库的情况下在Swift 3.0中使用Alamofire解析JSON

  23. 23

    如何在没有任何其他内容的情况下在phalcon中加载视图

  24. 24

    如何在不使用Coredata的情况下使用swift在IOS的两个扩展之间共享变量值

  25. 25

    如何在不动态加载模板的情况下在视图内部创建隔离作用域?

  26. 26

    swift:如何在不创建包含上述对象数组的结构的情况下解码json对象数组?

  27. 27

    如何在不破坏设计的情况下在自举列之间创建边距?

  28. 28

    如何在不使用主动模式的情况下在 FritzBox 和 pfsense 之间创建 IPsec 隧道?

  29. 29

    如何在Swift中创建按钮以更改相机视图?

热门标签

归档