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

  

转载于:https://www.cnblogs.com/Sorean/p/4224910.html

  • 0
    点赞
  • 0
    收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、C币套餐、付费专栏及课程。

余额充值