• Masonry UIScrollView autolayout 的一个奇特的问题


    事情是这样的。。。。

    我一个工程里 一直使用的 masonry 做autolayout,有个gesturerReconizer的bug,找了很久,发现很奇怪一个现象:

    我的某个view 是这样的

    |--------------------------------------|

    |UIViewController.view                  |

    |  |----------|    |--------------------|

    |  |UIView1-|    |UIScrollView        |

    |  |----------|    |                          |

    |                      |  |-------------|    |

    |                      |  | UIView2    |    |

    |                      |  |-------------|    |

    |                      |--------------------|

    |------------------------------------------

    UIScrollView 的 contentView 就略去了

    按理说,我应该添加view2到 uiscrollview里,但是不小心写错了,加到了最外层的view里:

    [self.view  addSubview:self.view2];
    

    然后添加了若干constraint

     [self.view2 makeConstraints:^(MASConstraintMaker *make) {
            make.top.equalTo(self.orderSectionView.bottom).offset(14);
            make.height.equalTo(@200);
            make.left.and.right.equalTo(_rightDownScrollContentView);
       }];
    

    关键是,一开始竟然一切顺利,跑成功了!!!!位置也对,就像我把它加入进了 scrollView里一样,还能顺着滑动!!

    但是我用 原始的 addConstraint:xxx option 就会有很多unsatisfied constraint的msg产生。。。

    但是这个view2的tap事件处理一直有问题。

    两个理解:

    1. 虽然view的层级不对,但是constaint是可以满足的,当scroll的时候,其依赖的view的位置变了,所以它跟着滑动

    2.系统bug

      

  • 相关阅读:
    二叉树的下一个节点
    二叉树的对称
    CString,string和char*
    二叉平衡树
    二叉树的深度
    必应首页图片下载
    Git报错:fatal: remote origin already exists.
    sublime text3 自定义代码片段
    atom自定义C++代码片段
    vscode 自定义代码片段(snippets)
  • 原文地址:https://www.cnblogs.com/Sorean/p/4224910.html
Copyright © 2020-2023  润新知