相关疑难解决方法(0)

永久设置UITableView内容

在我的应用程序中,我有一个UISearchBarunder,UINavigationBar因此它始终对用户可见.在这种情况下,我必须设置contentInset额外的44px,因此UIScrollView将滚动UISearchBar (完全像在Contacts.app中).静态UITableView的没有问题,但在我的情况下,我必须重新加载它的内容,切换到UISearchDisplayController等等.所以当我打电话时:

[self.tableView setContentInset:UIEdgeInsetsMake(108, 0, 0, 0)];
Run Code Online (Sandbox Code Playgroud)

一切都有效,直到我拉动刷新......(为此我使用SSPullToRefresh).

所以我的问题是:如何contentInset永久设置,以便我不必担心内部数据发生任何变化UITableView

objective-c uitableview uiscrollview ios pull-to-refresh

63
推荐指数
4
解决办法
12万
查看次数

分组UITableView底部有20px的额外填充

在iOS 6中,分组表视图似乎在底部有额外的填充(iOS 5没有它),但我找不到任何表明这是正确/预期行为的文档.

这也会影响示例项目,例如示例中的SimpleTableView项目TableViewSuite.我想我必须将样式AppDelegate改为'分组',并将SDK更新到iOS 6,但没有对该项目进行其他更改.

调查显示,10px保留了页眉和页脚视图,以及一些20px无法解释的视图.没有实际的页眉或页脚视图(tableHeaderView并且tableFooterView正在nil执行和返回nil,例如viewForFooterInSection什么都不做).我在tableView上找不到任何'20'值,虽然我可能错过了一些东西.

为页脚添加零大小视图不会做任何事情,但添加1px方形视图会导致额外的填充消失.例如:

tableView.tableFooterView = [[UIView alloc] initWithFrame:CGRectMake(0,0,1,1)];
Run Code Online (Sandbox Code Playgroud)

它确实占据了1px高度,所以现在是底部填充11px,但这远不如20那么明显.现在设置sectionFooterHeight为0将仅1px产生底部空间.

我的问题是:什么?我怎样才能完全删除它?这不是任务关键任务,但它非常奇怪,不可取,而且据我所知,它没有记录.

请注意 - 从Apple开发论坛复制过去的问题.但我有完全相同的问题,我也不明白如何解决它.

objective-c uitableview ios

49
推荐指数
4
解决办法
2万
查看次数

viewForFooterInSection没有让UITableView页脚粘到底部?

是的,我已经阅读了很多关于这个问题的其他帖子,这些解决方案对我来说都没有用!

基本上,当我使用viewForFooterInSection和heightForFooterInSection时,生成的页脚"浮动"

在此输入图像描述

viewDidLoad和FooterView代码:

override func viewDidLoad() {
    super.viewDidLoad()
    setupNaviationBarStyles()
    setUpNavBarButtons()
    navigationItem.title = "Kindle"
    tableView.register(BookCell.self, forCellReuseIdentifier: "cellId")
    tableView.backgroundColor = UIColor.lightGray 
    fetchBooks()
}   

 override func tableView(_ tableView: UITableView, viewForFooterInSection section: Int) -> UIView? {
    let view = UIView()
    view.backgroundColor = .red
    return view
}

 override func tableView(_ tableView: UITableView, heightForFooterInSection section: Int) -> CGFloat {
    return 50
}
Run Code Online (Sandbox Code Playgroud)

这个问题似乎是针对iPhone x的?在iPhone 7模拟器中,上面的代码完美地运行:

在此输入图像描述

我试图在viewDidLoad中创建一个自定义视图,就像很多其他线程一样,但还没有这样的运气:

let view: UIView = UIView(frame: CGRect(x: 0, y: 0, width: 
tableView.frame.size.width, height: 40))
view.backgroundColor = .red
self.tableView.tableFooterView = view
Run Code Online (Sandbox Code Playgroud)

我很欣赏这个问题的任何帮助,似乎解决方案可能很简单,但我已经研究了一段时间,并且在使用iPhone …

uitableview ios swift iphone-x

4
推荐指数
1
解决办法
429
查看次数