1. scrollview 添加 子控件, 必须设置 宽度和高度, 他自己无法撑满
2. scrollview的子空间的约束  只能相对于 左边 的顶部, 无法设置右边和底部的约束

3. 设置最小距离

        self.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "|-12-[customerInfoView]-(>=10)-[checkCommentsBtn]-12-|", options: [], metrics: nil, views: vd))

  

4.如果你SV里面封装了一个tableview或者有封装了一个View, View里面有一个SV,
此时你想里面的TV或者 封装SV的View 的高度和外面的SV一样的话

正确写法是:


右侧对其:获取SV的

let whith = scrollerView.contentSize.width

systeMessageView.widthAnchor.constraint(equalTo: scrollerView.widthAnchor, constant: 0).isActive = true

======

底部对其

scrollerView.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "V:|[systeMessageView]", options: [], metrics: nil, views: vd))

systeMessageView.heightAnchor.constraint(equalTo: scrollerView.heightAnchor, constant: 0).isActive = true

  

而不是,因为SV无法右对齐,和底部对其的约束

scrollerView.addConstraints(NSLayoutConstraint.constraints(withVisualFormat: "V:|[systeMessageView]|", options: [], metrics: nil, views: vd))

  

5. 如果子控件的高度全部约定死了,可以让子空间的高度和SV的底部对其, 撑SV的contentsize

swift VFL - 父视图是scrollview 注意点的更多相关文章

  1. [Swift通天遁地]六、智能布局-(6)其他几种约束关系:父视图/Corner/Edge/AnchorAndFillEdge

    ★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★➤微信公众号:山青咏芝(shanqingyongzhi)➤博客园地址:山青咏芝(https://www.cnblogs. ...

  2. iOS10 UI教程子视图和父视图UI层次结构和Views继承

    iOS10 UI教程子视图和父视图UI层次结构和Views继承 iOS10 UI教程子视图和父视图UI层次结构和Views继承,本节将讲解与UI层次结构和Views继承相关的内容,其中包括子视图和父视 ...

  3. swift - VFL

    1.VFL语法总结: //(1)“H”表示水平方向,“V”表示垂直方向 //(2)“|”表示父视图的边界 //(3)“[]”表示这是一个视图UIView的子类,可以组合多个条件,条件用"() ...

  4. 让超出父视图范围的子视图响应事件,在UIView范围外响应点击

    /** *  在父视图中重写该方法,这样可使超出部分响应事件. */ - (UIView *)hitTest:(CGPoint)point withEvent:(UIEvent *)event {  ...

  5. 使用AppDelegate单例,解决子视图无法给父视图发送消息的问题

    关于单例模式,我会在实验过后再开一个博客重点讲单例的使用,这里只是介绍我在PhotoForBingyan的照片滤镜的项目中使用AppDelegate单例的情况. 碰到的问题: 由于这个项目是个多视图的 ...

  6. 超出父视图无法点击问题hitTest

    p.p1 { margin: 0.0px 0.0px 0.0px 0.0px; font: 18.0px Menlo; color: #c91b13 } p.p2 { margin: 0.0px 0. ...

  7. iOS开发-获取子视图坐标系中Point、Rect在父视图坐标系中的实际值

    iOS提供了方法来完成上述值得转换 convertRect:toView:, convertRect:FromView: convertPoint:toView: and convertPoint:f ...

  8. 屏蔽响应事件继续向父视图传递的category

    屏蔽响应事件继续向父视图传递的category 这篇教程是上一篇教程的升级版,将复杂的代码封装成了category,更便于使用:) 效果: 源码: UIGestureRecognizer+EnvetI ...

  9. UITableViewCell的父视图

    最近版本测试阶段,发现一个奇怪的问题,以前在A测试机上出现的崩溃bug,解决后今天在B测试机上又出现了,在B上解决完之后,返回到设备A上发现又不行了.最后调试发现是测试设备系统版本不同导致的,A设备是 ...

随机推荐

  1. linux开机服务自启

    有时候我们需要Linux系统在开机的时候自动加载某些脚本或系统服务,主要用三种方式进行这一操作: ln -s             在/etc/rc.d/rc*.d目录中建立/etc/init.d/ ...

  2. Maven 配置tomcat插件

    使用tomcat插件来访问maven 1 先下载tomcat插件(在pom中配置) <!-- 配置Tomcat插件 --> <plugin> <groupId>or ...

  3. Python3 os模块应用

    调用模块的实质是运行python代码,比如a.py文件里有函数f(),那么你在调用a模块的时候,实质是运行了a模块里的函数f(),这个时候内存里就有这个函数了,可以直接用,那是不是随便一个py类型的文 ...

  4. nodejs——发送邮件(带附件)

    用到的包是 nodemailer,简单,有效. 1.auth 中的 pass,是指“邮箱第三方登录授权码”,如何获取授权码,以QQ邮箱为例,请点击:http://jingyan.baidu.com/a ...

  5. JS监听浏览器事件

    Onunload与Onbeforeunload Onunload,onbeforeunload都是在刷新或关闭时调用,可以在<script>脚本中通过window.onunload来指定或 ...

  6. Visual Studio自动添加头部注释

    VS2013 自动添加头部注释 1.找到VS2013的安装目录 下文以安装目录 C:\Program Files (x86)\Microsoft Visual Studio 12.0 为例 2.修改C ...

  7. [Flutter] Android沉侵式标题栏顶部叠加层去除

    可能你的app是这样: 框起来部分和标题栏颜色并不一致. 调用下面的代码可以变成一样. import 'package:flutter/services.dart'; static SystemUiO ...

  8. Hbase简介安装配置

    HBase —— Hadoop Database的简称 ,hbase 是分布式,稀疏的,持久化的,多维有序映射,它基于行键rowkey,列键column key,时间戳timestamp建立索引.它是 ...

  9. spring boot 整合 (全)

    参考: https://github.com/spring-projects/spring-boot/tree/master/spring-boot-samples

  10. JPQL和SQL的比较

    前言 在JAVA EE中,JPQL是专门为Java 应用程序访问和导航实体实例设计的.Java Presistence Query Language(JPQL),java持久性查询语言.它是JPA规范 ...