• 博客园logo
  • 会员
  • 周边
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • YouClaw
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
最初九月雪
博客园    首页    新随笔    联系   管理    订阅  订阅

uiscrollView UINavigation和uitabbar添加约束的问题

首先是层次问题, 我的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 - 30) {
        
        
    }
    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);
}

 

posted on 2015-03-14 09:41  最初九月雪  阅读(515)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2026
浙公网安备 33010602011771号 浙ICP备2021040463号-3