滚动时如何在 UIScrollView 中固定图像/视图
Posted
技术标签:
【中文标题】滚动时如何在 UIScrollView 中固定图像/视图【英文标题】:How to pin an image/view inside a UIScrollView when scrolling 【发布时间】:2017-04-23 19:26:37 【问题描述】:我一直在寻找一种在滚动时将视图/图像固定到 UIScrollView 顶部的方法。但是,我遇到的帖子/文章不在 swift 3 中。我不确定我是否在网络上正确输入了我的问题。所以我的问题是我们如何实现与 UITableView 或 UICollectionView 相同的行为。当您滚动时,一个部分将粘在顶部,直到另一个部分将其向上推。我想知道我们是否能够使用视图/图像并将它们固定在 UIScrollView 的顶部。下面是一个有 4 个视图的 UIScrollView 的屏幕截图。
因此,当滚动时,我想将第一个视图/图像固定在顶部,直到另一个视图/图像将其推入。还有可能确定哪个视图贴在顶部。所以可以说我只希望红色视图保持不变,直到另一个红色视图推动它。一段时间以来一直在寻找一种方法来实现这种行为。
请帮助,非常感谢此时提供的任何帮助。谢谢。
【问题讨论】:
【参考方案1】:你说得对,UITableView 有这种行为。那你为什么不自定义UITableView的header view呢?
只需从 viewForHeaderInSection 返回一个 UIImageView
- (UIView *)tableView:(UITableView *)tableView viewForHeaderInSection:(NSInteger)section
UIImageView *imv = [[UIImageView alloc] init];
imv.backgroundColor = [UIColor cyanColor];
imv.image = [UIImage imageNamed:@"sampleImage.jpg"];
return imv;
别忘了给它设置高度
- (CGFloat)tableView:(UITableView *)tableView heightForHeaderInSection:(NSInteger)section
return 50;
【讨论】:
以上是关于滚动时如何在 UIScrollView 中固定图像/视图的主要内容,如果未能解决你的问题,请参考以下文章