【问题标题】:TableView scroll indicator overlaps headerTableView 滚动指示器与标题重叠
【发布时间】:2013-04-19 13:05:08
【问题描述】:

情况

TableView 可以满足我的所有需求,因为它

  1. 允许我为其中的行设置动画(使用 UIView 不容易实现)
  2. 允许在顶部使用非滚动标题。

问题

  1. 滚动指示器(右上角)覆盖页眉。我预计它会停在标题的底部,但显然情况并非如此。
  2. 如果我允许弹跳并且您下拉得太远,标题会随着内容一起下拉。那不行。

实现

我可以通过切换到 UIView 来解决我当前的问题,但随后会引入其他问题。

  1. 如果我使用 UIView 对行进行动画处理,我必须跟踪所有视图的位置,并确保在引入新视图时它们都移动了正确的距离。
  2. 1 还不错,但考虑到屏幕旋转问题,它成为了虫子安家的好地方。

问题

我该如何解决这个问题?

【问题讨论】:

    标签: ios ios5 uiscrollview uitableview


    【解决方案1】:

    对于滚动指示器,您可以使用:

     tableView.scrollIndicatorInsets = UIEdgeInsetsMake(yourHeaderHeight, 0, 0, 0);
    

    如果您不希望在启用表格视图弹跳时移动标题,则应将标题替换为 UIView 并且表格视图应从 UIView 的底部开始

    【讨论】:

    • 我可能不必最终走这条路,但它仍然是很好的信息。 +1
    【解决方案2】:

    也许你可以做这样的事情

    containerView
        |
        |--- headerView (subview of containerView)
        | 
        |--- tableView/scrollView (subview of containerView)
    

    所以你将headerViewtableview 分开,scrollView 指示器就会出现在tableView 上。 这是假设您的意思是表视图标题而不是节标题。

    【讨论】:

    • 在这个想法中,containerView 仍然是UITableViewController 吗?还是别的什么?
    • A UITableviewControllerUIViewController 的子类,因此我将添加 containerView 作为 view 属性和 tableView 作为 tableView 属性。这应该是可行的。但是自己没有测试过。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-03
    • 1970-01-01
    • 1970-01-01
    • 2015-12-31
    • 2020-06-23
    • 2018-07-18
    相关资源
    最近更新 更多