您的位置:首页 > 产品设计 > UI/UE

Masonry UIScrollView autolayout 的一个奇特的问题

2015-01-14 21:31 447 查看
事情是这样的。。。。

我一个工程里 一直使用的 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

  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: