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
Masonry UIScrollView autolayout 的一个奇特的问题的更多相关文章
- 【原】Masonry+UIScrollView的使用注意事项
[原]Masonry+UIScrollView的使用注意事项 本文转载请注明出处 —— polobymulberry-博客园 1.问题描述 我想实现的使用在一个UIScrollView依次添加三个UI ...
- UIScrollView上面放一个UIScrollView或者UITableView拖动时候 View出现一闪一闪解决办法
在项目中发现一个问题: 创建一个UIScrollView 上面放一个scrollView或者TableView,拖动scrollview或TableView 画面出现一闪一闪的情况. 解决办法设置一下 ...
- iOS:在tableView中通过Masonry使用autolayout在iOS7系统出现约束崩溃
一.出现崩溃情景: 给tableView创建一个头视图,也即tableHeaderView,然后使用Masonry并切换到iOS7/7.1系统给tableHeaderView中的所有子视图添加约束,此 ...
- 关于Masonry框架(AutoLayout)的用法--面向初学者
Masonry作为目前较为流行的自动布局第三方框架,简单易用,大大减少了程序员花在UI布局和屏幕适配的精力与时间. 1 基本用法 1.1 事例1: 图1-1 // 首先是view1自动布局 [view ...
- UIScrollView中添加一个视图,实现让其始终固定在某个位置
ScrollView中添加一个视图,实现让其始终固定在某个位置,如最底部的位置.方法是自定义一个继承UIScrollView,重写它的layoutSubviews方法.代码如下: #import &q ...
- VB6 变量定义作用域的一个奇特形式
C#或JAVA 下面的i定义是只会限定在if 条件块里的: if (1 == 2) { int i = 000; } else { i = 111;// 错误,未定义. } i = 222;//错误 ...
- scala语言中的case关键字在spark中的一个奇特使用
package com.spark.demo import com.spark.demo.util.SparkUtil import org.apache.spark.rdd.RDD import s ...
- Python 一个奇特的引用设定
def f(x): print 'original' if x > 0: return f(x-1) return 0 g = f def f(x): print 'new' return x ...
- Masonry介绍与使用实践:快速上手Autolayout
1 MagicNumber -> autoresizingMask -> autolayout 以上是纯手写代码所经历的关于页面布局的三个时期 在iphone1-iphone3gs时代 w ...
随机推荐
- cassandra 存储list数组
demo如下: CREATE TABLE users3 ( user_id text PRIMARY KEY, first_name text, last_name text, emails list ...
- WebRTC学习
1. WebRTC学习 1.1 WebRTC现状 本人最早接触WebRTC是在2011年底,那时Google已经在Android源码中加入了webrtc源码,放在/external/web ...
- DFS序+线段树(bzoj 4034)
题目链接 题目就不多说了. 本题目,可以用dfs序+线段树做:题目给定了一棵树,树上节点告诉了权值.我们可以先将这棵树进行dfs将一棵树变成线性结构:如图 变成这样后,然后就可以用线段树. 操作1:也 ...
- OJ提交题目中的语言选项里G++与C++的区别
一.OJ提交题目中的语言选项里G++与C++的区别 http://www.th7.cn/Program/cp/201405/199001.shtml 首先更正一个概念,C++是一门计算机编程语言,G+ ...
- 小trick之mklink
因为要看很多论文就下载安装了zotero,又因为文献库的文件夹在安装目录太深,找起来太麻烦,再加上是软件本身的安装目录,因此把论文都下载在默认文件中总会天然地产生不安全感,万一误删软件怎么办.所以在文 ...
- VC6.0 快捷键
F1: 帮助 Ctrl+O :OpenCtrl+P :PrintCtrl+N :NewCtrl+Shift+F2 :清除所有书签F2 :上一个书签Shift+F2 :上一个书签Alt ...
- PHP mysql_fetch_array与mysql_fetch_row的区别
如果你的表里面有字段a,b,c那么你用mysql_fetch_row() 就返回array(1=>a的值,2=>b的值,3=>c的值)这个时候你读数组的话,只能这样写$array[1 ...
- 初识btrace
此文已由作者易国强授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 1 btrace简介 BTrace是一个非常不错的java诊断工具.BTrace 中的B表示bytecode ...
- Weekly Contest 111-------->942. DI String Match
Given a string S that only contains "I" (increase) or "D" (decrease), let N = S. ...
- 51nod 1456【强连通,缩点,并查集】
话说这道题的机遇是看到了http://blog.csdn.net/u010885899/article/details/50611895很有意思:然后就去补了这题 题意: 建最少的边使得给出的点相连. ...