【问题标题】:Make UIView under a UITableView visible when you scroll滚动时使 UITableView 下的 UIView 可见
【发布时间】:2013-10-29 09:42:53
【问题描述】:

我有一个位于 UIView 之上的 UITableView。

所以基本上,它看起来像这样:
我有一个 tableviewHolder,它有两个子视图
1.) UIView 与其他子视图
2.) UITableView

每当用户滚动 UITableView 时,我希望它下方的 UIView 可见。 我尝试将 UITableView 的背景设置为清除并且它可以工作。但是,如果 tableview 的背景是清晰的,那么当单元格的行不足以覆盖整个 table 时,它​​下面的 UIView 的其他部分将是可见的。 如何更改表格视图的背景颜色,并且在用户滚动时仍使其下方的 UIView 可见?

【问题讨论】:

  • 您的意思是您只想查看单元格所在的背景,而不是没有单元格的背景 - 即在最低单元格下方?
  • 如果我理解您的问题,您必须根据需要多少个单元格来动态更改 tableViews 单元格的大小才能达到您想要的效果。

标签: ios objective-c uitableview uiview background


【解决方案1】:

使用

- (void)scrollViewWillBeginDragging:(UIScrollView *)scrollView

(参考https://developer.apple.com/library/ios/documentation/uikit/reference/UIScrollViewDelegate_Protocol/Reference/UIScrollViewDelegate.html#//apple_ref/occ/intfm/UIScrollViewDelegate/scrollViewWillBeginDragging:)

这个方法会在 UITableView 开始滚动时被调用。所以,在这个方法中,将 UIView 设置为可见

view.setAlpha=1.0;

- (void)scrollViewDidEndDragging:(UIScrollView *)scrollView willDecelerate:(BOOL)decelerate

通过使用再次将 uIView 设置为不可见

view.setAlpha=0.0;

我要求您在 UITableViewDelegate 类中使用 UIScrollViewDelegate 方法。这将起作用,因为 UITableViewDelegate 继承自 UIScrollViewDelegate。所以 UIScrollViewDelegate 中的所有方法也适用于 UITableViewDelegate。

【讨论】:

  • 是的。我所做的是,每次滚动视图滚动时,我都会(基于 contentOffset)调整 tableview 下方的视图大小,使其看起来像是可见的。当滚动视图不滚动时,我将 alpha 设置为 0。谢谢!
猜你喜欢
  • 2013-04-30
  • 2010-11-07
  • 2017-05-12
  • 1970-01-01
  • 2010-10-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多