码迷,mamicode.com
首页 > 其他好文 > 详细

uiscrollView UINavigation和uitabbar添加约束的问题

时间:2015-03-14 10:50:09      阅读:530      评论:0      收藏:0      [点我收藏+]

标签:

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

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

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

 

- (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);
}

 

uiscrollView UINavigation和uitabbar添加约束的问题

标签:

原文地址:http://www.cnblogs.com/lovelydark/p/4337042.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!