隐藏导航栏并移动表格视图部分标题
Posted
技术标签:
【中文标题】隐藏导航栏并移动表格视图部分标题【英文标题】:Hide Nav Bar and move Table View Section Headers 【发布时间】:2014-11-04 00:51:44 【问题描述】:我目前正在使用https://github.com/telly/TLYShyNavBar 类在滚动时隐藏我的导航栏,它工作得很好并且使用起来非常简单。但是我在表格视图控制器上使用它,所以当我向上滚动时,我的部分标题不会移动,它看起来像这样。
如何将部分标题上移到屏幕顶部。或者在滚动时使用不同的方式移动导航栏。
提前感谢您的帮助。
【问题讨论】:
我也存在这个问题。希望你能找到解决办法。 【参考方案1】:您可以将第一个 TableViewCell 用作自定义导航栏,方法是向 TableViewCell 中包含的 contentview 添加按钮。它会像任何其他 TableViewCell 一样向上滚动。 TableViewCells 大多只是 UIView 的包装器。您可以像修改任何其他 UIView 一样修改该 UIView。每个 TableViewCell 都有一个名为 contentview 的属性,它是 Cell 中的主要 UIView。
例如,您可以在发送以下消息的第一个单元格中添加一个按钮 [self.navigationController popViewControllerAnimated:YES];
您可以将该按钮称为“返回”
https://developer.apple.com/library/ios/documentation/UIKit/Reference/UITableViewCell_Class/index.html#//apple_ref/occ/instp/UITableViewCell/contentView
【讨论】:
没有办法只移动节标题吗? 节标题应该自动移动。如果不是,则您的类别正在破坏 UITableViewController。 这是一个非常肮脏的解决方案,我建议永远不要这样做。【参考方案2】:我找到了解决方案!
问题在于,部分标题停留在contentInset
的top
值。即使navigation bar
不在视野范围内并且tableView
在下方可见,contentInset
仍将保持不变。
您必须根据滚动偏移量修改库以增加或减少contentInset
的top
值。试试这个,你可以将它作为拉取请求发布到 github。
希望这会有所帮助! :)
【讨论】:
以上是关于隐藏导航栏并移动表格视图部分标题的主要内容,如果未能解决你的问题,请参考以下文章