首先是层次问题, 我的storyboard中 底层是一个View(viewcontroller自带)上面添加了一个UIScrollview(添加约束, 上下左右全为0), 在UIScrollview上添加一个UITableView(添加约束: 上下左右全为0, 宽高分别为当前值, 做拖出宽高的约束, 添加到代码中, 设置可以改变他们的值)

①. 只有UIScrollview的情况, 这时只要把上面约束的宽高分别设下, 分别是[UIScreen mainScreen].bounds.size.width............ [UIScreen mainScreen].bounds.size.height就可以运行了

②. 添加一个UINavigation, 这时根据上面的情况, 只要把高修改成[UIScreen mainScreen].bounds.size.height - 64 (UINavigationBar和StatusBar的高度是64).这里如果出现了tableview下移了64, 就把view的top的约束改为-64

③. 去掉UINavigation, 添加一个UITabbarViewController, 把高修改成[UIScreen mainScreen].bounds.size.height - 49(Tabbar的高度是49)

④. 同时添加UInavigation和UITabbarViewController, 这时把高修改成[UIScreen mainScreen].bounds.size.height - 49 - 64, 同时要把上面的底层View的约束修改下, 我们当时添加的约束是上下左右全为0, 修改下方的为-49, 这样就行了

⑤. 这里要注意要把底层的scrollView的bounces vertical置为NO, 不然的话, 在极限的情况下 会出现莫名其妙的问题

- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
CGPoint scrollViewOffset = scrollView.contentOffset;
CGRect bounds = scrollView.bounds;
CGSize size = scrollView.contentSize;
// NSLog(@"size::%@", [NSValue valueWithCGSize:size]);
UIEdgeInsets inset = scrollView.contentInset;
CGFloat y = scrollViewOffset.y + bounds.size.height - inset.bottom;
CGFloat h = size.height;
// NSLog(@"%lf,,,,,%lf", y, h);
if (y > h - ) { }
UIScrollView* mysc = (UIScrollView *)scrollView.superview;
CGPoint scrollViewOffset1 = mysc.contentOffset;
CGRect bounds1 = mysc.bounds;
CGSize size1 = mysc.contentSize;
UIEdgeInsets inset1 = mysc.contentInset;
CGFloat y1 = scrollViewOffset1.y + bounds1.size.height - inset1.bottom;
CGFloat h1 = size1.height;
NSLog(@"%lf,,,,,%lf", y1, h1);
}

uiscrollView UINavigation和uitabbar添加约束的问题的更多相关文章

  1. iOS开发小技巧--UIScrollView内部子控件添加约束的注意点

    注意:用UIScrollView时布局子控件的时候,不要相对于UIScrollView来添加约束,这样做不是设置子控件的位置,反而是设置了UIScrollView的contentSize 子控件的尺寸 ...

  2. 怎样使用AutoLayOut为UIScrollView添加约束

    1.在ViewController中拖入1个UIScrollView,并为其添加约束 约束为上下左右四边与superview对齐 2.在scrollview中,拖入1个UIView,为了便于区分将其设 ...

  3. Storyboard中使用UIscrollView添加约束的开发总结

    第一次在项目中用storyboard做界面,一般的界面直接添加约束非常爽快 然后有个界面有scrollview,添加了约束还总是出错 刚开始使用了 wCompact,hRegular,滑动出现问题,有 ...

  4. iOS - UIScrollView xib添加约束的坑

    一.Storyboard中的UIScrollView使用自动布局 在使用storyboard和xib时,我们经常要用到ScrollView,还有自动布局AutoLayout,但是ScrollView和 ...

  5. iOS - XIB之AutoLayout添加约束

    XIB--AutoLayout添加约束 仿QQ登录界面: 说明:以下各图背景红色只是方便看清楚: 1.创建工程:创建xib文件 2.打开xib文件: (1).创建头像: 拖控件:uiimageview ...

  6. 使用SQL语句向已有数据表添加约束

    如果向存在数据的表里添加约束,有可能会出现数据不符合检查约束而造成添加约束失败. 如: 这是一个表,为身份证号添加检查约束. USE DEmo--指向当前操作的数据库 GO ALTER TABLE E ...

  7. 5-06使用Sql 语句为表添加约束

    约束名的命名规则推荐采用:约束类型_约束列. 为用户表添加约束 ALTER TABLE UserInfo ADD CONSTRALNT PK_UserId PRIMATY REY(UserId) CO ...

  8. olacle数据库员工表的创建,及插入数据,添加约束,删除列,查询数据的sql语句

    ---删除原有的员工表drop TABLE employee;---创建员工表CREATE TABLE employee       (       empno NUMBER(4) NOT NULL, ...

  9. SQL语句创建数据库,SQL语句删除数据库,SQL语句创建表,SQL语句删除表,SQL语句添加约束,SQL语句删除约束

    创建数据库: CREATE DATABASE Test --要创建的数据库名称 ON PRIMARY ( --数据库文件的具体描述 NAME='Test_data', --主数据文件的逻辑名称 FIL ...

随机推荐

  1. 《编写可维护的JavaScript》——JavaScript编码规范(六)

    变量.函数和运算符 在讨论过基本的JavaScript书写格式化之后,接下来关注如何使用函数.变量和运算符来减少复杂度和增强可读性就显得十分重要了. 变量声明 变量声明是通过var语句来完成的.var ...

  2. SQL表连接查询(inner join、full join、left join、right join)

    SQL表连接查询(inner join.full join.left join.right join) 前提条件:假设有两个表,一个是学生表,一个是学生成绩表. 表的数据有: 一.内连接-inner ...

  3. 升级python到2.7版本pip不可用

    升级python到2.7版本pip不可用 [root@localhost pip-7.1.2]# pip Traceback (most recent call last): File "/ ...

  4. F12定义到元数据问题解决

    删除引用中的该dll,重新引用选择解决方案下的项目引用,下次F12就不会进入到元数据而是进入到源代码中方便调试

  5. 浪潮 NF5240M3 ,NP5540M3 服务器安装2008 R2

    1,服务器系统的安装会出现错误的地方一般都是在Raid 卡驱动 略过Raid 卡配置, 具体 http://jingyan.baidu.com/article/ca41422fddfd201eae99 ...

  6. reactive-turtle

    reactive-turtle 标签(空格分隔): Scala Github 偶然在Github上看到一个有意思的小项目,一个粑粑教11岁的儿子学习scala,因为学习语法等太枯燥了,所以写了一个海龟 ...

  7. Oracle Forms 10g Tutorial Ebook Download - Oracle Forms Blog

    A step by step tutorial for Oracle Forms 10g development. This guide is helpful for freshers in Orac ...

  8. Codeforces 722C. Destroying Array

    C. Destroying Array time limit per test 1 second memory limit per test 256 megabytes input standard ...

  9. Node聊天程序实例05:index.html和style.css

    作者:vousiu 出处:http://www.cnblogs.com/vousiu 本实例参考自Mike Cantelon等人的<Node.js in Action>一书. index. ...

  10. 用SignalR实现的共享画板例子

    使用HTML5的canvas画布功能,在页面进行绘画,然后通过SignalR将画布的每个点的颜色提交到服务端,服务端同时将这些画布的信息推送到其他客户端,实现共享同一个画板的功能 类似下图,在某一个浏 ...