• 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

      

  • 相关阅读:
    Google analytics平均页面停留时间为何是0
    用易语言拦截窗口消息(带例程)
    OS + Linux RHEL / RedHat Enterprise 5 / 6 / 6.3
    Oracle学习教程:动态SQL与游标详解
    图解Oracle数据库(二)
    Oracle数据库中listener.ora sqlnet.ora tnsnames.ora的区别
    正确理解javascript的this关键字
    深入理解Javascript之this关键字
    Oracle中动态SQL详解
    oracle维护常用SQL语句(查看系统表和视图)
  • 原文地址:https://www.cnblogs.com/Sorean/p/4224910.html
Copyright © 2020-2023  润新知