我相信许多人都使用过类似Tinder和Dripper的应用程序,您可以在包含图像的视图上下拉,以放大图像。当您松开时,图像会缩小回到其原始状态。
让我们以Tinder为例:
原始状态:和下拉放大状态:
- (void)viewDidLoad {
[super viewDidLoad];
self.imageView = [[UIImageView alloc] initWithImage:[UIImage imageNamed:@"church-welcome.png"]];
self.imageView.contentMode = UIViewContentModeScaleAspectFill;
self.cachedImageViewSize = self.imageView.frame;
[self.tableView addSubview:self.imageView];
[self.tableView sendSubviewToBack:self.imageView];
self.tableView.tableHeaderView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, self.view.frame.size.width, 170)];
}
- (void)scrollViewDidScroll:(UIScrollView *)scrollView {
CGFloat y = -scrollView.contentOffset.y;
if (y > 0) {
self.imageView.frame = CGRectMake(0, scrollView.contentOffset.y, self.cachedImageViewSize.size.width+y, self.cachedImageViewSize.size.height+y);
self.imageView.center = CGPointMake(self.view.center.x, self.imageView.center.y);
}
}
由于我对Objective C和iOS的专业知识非常有限,因此无法在Android中实现它。
这是我认为应该做的:
- 捕捉下拉手势
- 根据拉的距离增加视图的高度
- 对图像进行某种比例动画,以适应扩展的视图
是否有人知道是否有可以用于此目的的库?