IOS 学习笔记 —— tableView 被 tabBar 遮挡问题

我的tableView下面还有数据,滑倒最下面仍然显示不全。

1. 在网上查了很多资料,也尝试了很多次,发现是tableView的height问题,因此采用了下面的方法,暂时解决了燃眉之急。

#pragma mark - 自适应tableView,调整tableView高度,避免被navigationBar或tabBar遮挡
-(void) autofitTableView{
    //去除status bar 和 navigationbar的高度
    CGRect viewFrame = self.view.frame;
//    NSLog(@"viewFrame = (%f,%f,%f,%f)", viewFrame.origin.x, viewFrame.origin.y, viewFrame.size.width, viewFrame.size.height);
    CGRect tableViewFrame = self.pullTableView.frame;
//    NSLog(@"tableViewFrame = (%f,%f,%f,%f)", tableViewFrame.origin.x, tableViewFrame.origin.y, tableViewFrame.size.width, tableViewFrame.size.height);
    
    //获取屏幕尺寸
    CGRect screenRect = [UIScreen mainScreen].applicationFrame;
    CGFloat screenHeight = screenRect.size.height;
//    NSLog(@"screen height = %f", screenHeight);//460
    
    CGRect statusBarRect = [[UIApplication sharedApplication] statusBarFrame];
    CGFloat statusBarHeight = statusBarRect.size.height;
//    NSLog(@"statusBar height = %f", statusBarHeight);//20
    
    CGFloat tabbarHeight = self.tabBarController.tabBar.bounds.size.height;//
//    NSLog(@"tabBar height = %f", tabbarHeight);//0
    CGFloat navHeight = self.navigationController.navigationBar.frame.size.height;
//    NSLog(@"navigationBar height = %f", navHeight);//0

    
    //去掉navigationBar的高度
    CGFloat viewHeight1 = self.view.frame.size.height;
//    NSLog(@"view height1 = %f", viewHeight1);//460
    CGFloat viewHeight2 = self.view.bounds.size.height;
//    NSLog(@"view height2 = %f", viewHeight2);//460
    CGFloat viewHeight3 = self.tabBarController.view.frame.size.height;
//    NSLog(@"view height3 = %f", viewHeight3);//460
    
    CGRect frame = [self.pullTableView frame];
    CGFloat height1 = viewHeight1 - tabbarHeight - navHeight;
//    NSLog(@"height1 = %f", height1);//480
    CGFloat height2 = screenHeight - tabbarHeight - navHeight;
//    NSLog(@"height2 = %f", height2);//460
    
    
    frame.size.height = height2;
//    self.tableBulletin.frame = frame;
    self.pullTableView.frame = CGRectMake(0, 0, self.view.frame.size.width, self.view.frame.size.height - self.tabBarController.tabBar.frame.size.height);
    
    self.navigationController.navigationBar.translucent = NO;
}

2. 



转载于:https://my.oschina.net/bingshanguxue/blog/350242

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值