我有自定义UITableView
个自定义单元格(每个单元格高度为70px)。
我还有49px UITabBar
,但它隐藏了tableView。
我已尝试将此行添加到TableView awakeFromNib
方法,但它无法正常工作:
self.commentsTableView.contentInset = UIEdgeInsetsMake(0, 0, 49, 0)
我知道如何解决这个问题?
谢谢!
答案 0 :(得分:1)
我不知道你到底做了什么,但试试这样:
self.edgesForExtendedLayout = UIRectEdgeAll;
self.tableview.contentInset = UIEdgeInsetsMake(0.0f, 0.0f, CGRectGetHeight(self.tabBarController.tabBar.frame), 0.0f);
我希望,这会奏效。
答案 1 :(得分:0)
这在Swift 3中为我做了诀窍。
if let tabBarController = tabBarController {
self.tableView.contentInset = UIEdgeInsetsMake(0.0, 0.0, tabBarController.tabBar.frame.height, 0.0);
}
答案 2 :(得分:0)
试试这个
self.commentsTableView.contentInset = UIEdgeInsetsMake(49, 0, 0, 0)
self.commentsTableView.setContentOffset(CGPoint.init(x: 0, y: -49), animated: false)
答案 3 :(得分:0)
您应该使用以下代码配置相应的视图控制器以删除边缘扩展(默认为UIRectEdgeAll)
edgesForExtendedLayout = []
答案 4 :(得分:0)
在没有透明条的导航控制器中处理表格视图时,我遇到了这个问题。我执行了类似于以下的设置:
override func viewDidLoad() {
super.viewDidLoad()
// Without this there is some extra fast inertia when slowly
// scrolling to the top.
extendedLayoutIncludesOpaqueBars = true
// Don't extend the tableview past the bottom bar, though.
// If we do then a tab bar or bottom nav bar will block
// content.
edgesForExtendedLayout = [.top, .left, .right]
}
但是,我后来发现在层次结构中较高的情节提要中未选中几个复选框。具体来说,这两个:
选中这两个复选框,就无需关心该视图控制器中的内容插图和布局扩展行为
答案 5 :(得分:0)
如果您在以前的视图控制器中更改了self.hidesBottomBarWhenPushed=true
,请确保将其更改为self.hidesBottomBarWhenPushed=false
内的override func prepare(for segue: UIStoryboardSegue, sender: Any?) {}
答案 6 :(得分:-1)