Swift /如何修复:TableView底部单元格缺少UINavigationBar的大小

时间:2016-10-25 01:58:08

标签: ios swift

我正在使用this Framework来移动UINavigationBar。我对每个视图都有以下问题(因为每个视图都有UITableViewUICollectionView - 是的,这个错误也出现在UICollectionView

enter image description here

每个屏幕的底部缺少UINavigationBar的大小。

控制器是UIViewController的子类。

open class SLPagingViewSwift: UIViewController, UIScrollViewDelegate

全局创建UIViewControllers

var settingsVC: UserSettingsVC?

在创建控制器的类中实例化:

appDelegate.window = UIWindow(frame: UIScreen.main.bounds)

settings = settingsStb.instantiateViewController(withIdentifier: "UserSettingsVC") as? UserSettingsV
// among other VCs
self.setItems() //sets the images at the navigationbar               
let items = [itemsArray]

let controllers = [arrayOfVCs] as [UIViewController]

controller = SLPagingViewSwift(items: items, controllers: controllers, showPageControl: false)
controller.indexSelected = 1

nav = UINavigationController(rootViewController: controller)
appDelegate.window?.rootViewController = nav
appDelegate.window?.backgroundColor = cachedBlack
appDelegate.window?.makeKeyAndVisible()

示例控制器是UITableViewController。使用UIViewController的每个UITableView以及UITableViewController的{​​{1}}中都会显示相同的错误。

我错过了什么?非常感谢帮助。

1 个答案:

答案 0 :(得分:1)

您需要做的是创建一个全局常量并设置UIEdgeInsetsMake(),例如:

let collectionViewInset = UIEdgeInsetsMake(0, 0, 44, 0)

44是导航栏的高度,你需要在navigationBar之后启动它,所以y = 44.0。

完成后,您需要设置:

collectionView.contentInset = collectionViewInset

就是这样,排序!