显示在标签栏后面的TableView

rag*_*oat 26 objective-c uitableview uitabbar ios ios7

我正在更新我的应用程序以使用iOS 7,我遇到了表视图的问题.我的标签栏是半透明的.问题是当我滚动到表格视图的底部时,最后一个单元格的一部分仍然位于标签栏的后面.我想在最后一个单元格和标签栏之间留出一点空间.我可以通过使用不透明的标签栏来解决这个问题,但我想让它保持半透明.

在此输入图像描述

Joh*_*tty 41

尝试设置

self.edgesForExtendedLayout = UIRectEdgeNone;
self.extendedLayoutIncludesOpaqueBars = NO;
self.automaticallyAdjustsScrollViewInsets = NO;
Run Code Online (Sandbox Code Playgroud)

在tableview控制器内

  • 不工作,最后一个单元格仍然在标签栏后面。 (2认同)

Hem*_*ang 19

Swift 4.x

let adjustForTabbarInsets: UIEdgeInsets = UIEdgeInsetsMake(0, 0, self.tabBarController!.tabBar.frame.height, 0)
self.yourTableView.contentInset = adjustForTabbarInsets
self.yourTableView.scrollIndicatorInsets = adjustForTabbarInsets
Run Code Online (Sandbox Code Playgroud)


Coo*_*ter 17

检查屏幕截图

在此输入图像描述

检查底栏下面的Bar和Un-checke


meh*_*dok 8

SWIFT 3

把它放在viewDidLoad你的内心tableViewController:

self.edgesForExtendedLayout = UIRectEdge()
self.extendedLayoutIncludesOpaqueBars = false
self.automaticallyAdjustsScrollViewInsets = false
Run Code Online (Sandbox Code Playgroud)


kem*_*ica 6

Swift 3.0

这对我有用.在您的自定义ViewController中:

override func viewDidLoad() {
    super.viewDidLoad()

    let adjustForTabbarInsets: UIEdgeInsets = UIEdgeInsetsMake(self.tabBarController!.tabBar.frame.height, 0, 0, 0);
    //Where tableview is the IBOutlet for your storyboard tableview.
    self.tableView.contentInset = adjustForTabbarInsets;
    self.tableView.scrollIndicatorInsets = adjustForTabbarInsets;
}
Run Code Online (Sandbox Code Playgroud)

  • 边缘插入应该是底部,而不是顶部:`let adjustForTabbarInsets:UIEdgeInsets = UIEdgeInsetsMake(0,0,self.tabBarController!.tabBar.frame.height,0);` (3认同)