zoukankan      html  css  js  c++  java
  • Masonry 布局 scrollView

    原理
    scrollView的高度(纵向滑动时)时靠内部的子控件撑起来的。我们直接给ScrollView布局会发现失败。用层级检查器发现,ScrollVIiw的高度有问题,我们可以选择添加一个UIView容器,约束容器的edge.equalTo(self.scrollView),和 containerView.height.mas_equalTo(self.scrollView);
    往这个容器中添加控件,所有子空间相对于容器布局。
    最后一个控件不要忘记 添加一个 和 容器底部的约束。否则 容器的高度是0, 里面所有的控件都无法响应手势了。因为 容器的size为0时,手势做坐标转换时响应链到达控制器时不是原来的期望的坐标了。
    而且高度为0 的控件本来就是不因该存在的。

    //
    [self.scrollView mas_makeConstraints:^(MASConstraintMaker *make) {
        make.top.equalTo(self.view).offset(kNaviHeight);
        make.left.right.bottom.equalTo(self.view);
        make.width.mas_equalTo(kScreenW);
        make.height.mas_equalTo(kScreenH -(kNavHeight);
    }];
    
    //容器
    [self.scrollView addSubview:self.conatinerView];
    [self.conatinerView mas_makeConstraints:^(MASConstraintMaker *make) {
        make.edges.equalTo(self.scrollView);
        make.width.equalTo(self.scrollView);
    }];
    
    [self.subView mas_makeConstraints:^(MASConstraintMaker *make) {
        make.top.equalTo(self.someChildView.mas_bottom);
        make.left.right.equalTo(self.conatinerView);//左右约束
        make.height.mas_equalTo(kOneLineItemHeight);
        make.bottom.equalTo(self.conatinerView);//这个不能忘记
    }];
  • 相关阅读:
    pip安装requests时报 Requirement already satisfied: requests in d:pythonpyth... 的问题解决
    渗透测试靶场
    Spring Security核心类关系图
    Spring security 5 Authorize Configuration
    固定技术栈
    redis 指定端口 启动
    Spring 获取当前activeProfile
    通过进程编号 查询 监听端口
    lombok 插件安装
    idea 快捷键设置
  • 原文地址:https://www.cnblogs.com/wjw-blog/p/11215533.html
Copyright © 2011-2022 走看看