zoukankan      html  css  js  c++  java
  • TableView自动上移

    - (void)viewWillLayoutSubviews {
    
        if (self.view.subviews[0] != self.tableView) {
            //self.tableView是我们希望正常显示cell的视图
            self.tableView.subviews[0].frame = CGRectMake(064, kScreenW, kScreenH);
        } 
    }
    
    /*或者设置 tableView的y : 64*/
    //如果navigationbar.translucent = YES; scrollview会被自动设置contentInset.top=64
    
    - (void)viewWillLayoutSubviews
    {
        [super viewWillLayoutSubviews];
        _tableView.contentInset = UIEdgeInsetsZero;
        _tableView.scrollIndicatorInsets = UIEdgeInsetsZero;
    }

    方案一 

    在使用了navigationController后,当界面进行跳转往返后,时而会出现tableView或collectionView上移的情况,通常会自动上移64个像素,那么这种情况,我们可以关闭tableView的自动适配布局。 

    self.automaticallyAdjustsScrollViewInsets = NO;// 默认是YES 

    方案二:

    当出现tableView整体上移时,你当然可以在 Xcode 中修改每个 View,将他们下移20个像素(状态栏高度)或者64个像素(状态栏+导航栏高度)。

    但是苹果显然已经考虑到这个问题,他们早在 iOS 7 SDK 中为 ViewController 提供了一个 edgesForExtendedLayout 新属性。如果你将这个属性设置为UIRectEdgeNone,则 viewController 的所有子视图都会自动调整。 

    目前暂时也适用于不同系统版本代码更迭出现状况时使用。 

     

    self.edgesForExtendedLayout = UIRectEdgeNone;// 推荐使用 
  • 相关阅读:
    那些年伴我一起成长的SAP装备
    1079. Total Sales of Supply Chain (25)
    1132. Cut Integer (20)
    1074. Reversing Linked List (25)
    1071. Speech Patterns (25)
    1070. Mooncake (25)
    1067. Sort with Swap(0,*) (25)
    1063. Set Similarity (25)
    1066. Root of AVL Tree (25)
    1059. Prime Factors (25)
  • 原文地址:https://www.cnblogs.com/StevenHuSir/p/9687650.html
Copyright © 2011-2022 走看看