android 下拉放大背景图,Swift - 实现下拉时背景图片放大效果(仿QQ个人资料页面)...

这篇博客介绍了如何在iOS应用中实现下拉时背景图片放大,模仿QQ个人资料页面的效果。通过在ScrollView的scrollViewDidScroll方法中调整图片视图的位置和尺寸,根据滚动偏移量动态改变图片大小。还进一步增加了导航栏的功能,使得在向上滑动时导航栏逐渐显示,背景图片完全移出时显示导航栏标题。
摘要由CSDN通过智能技术生成

在 QQ的个人信息页面上方有个背景图片,当我们下拉整个页面时,这个背景图会随着拖动距离而变大。下面通过样例演示这个效果如何实现。

1,效果图

当下拉页面时,背景图片会随着偏移量的增加而放大。

3bc0416349e9a29aa57f77e4cb6c8e07.png    

c4e866380ab5b7fd82b799658167a41a.png    

e87d497cf4a5ba2f242661cb51d96202.png

2,样例代码

实现方法是在滚动视图(scrollView)的 scrollViewDidScroll响应方法中获取偏移量,并根据偏移量来动态改变 imageView的位置和尺寸。

import UIKit

class ViewController: UIViewController {

let screenWidth = UIScreen.main.bounds.width // 屏幕宽度

let screenHeight = UIScreen.main.bounds.height // 屏幕高度

var imageView: UIImageView! // 图片视图

let imageViewHeight: CGFloat = 200 // 图片默认高度

var tableView: UITableView! //表格视图

let rowNumber = 50 // 表格数据条目数

let rowHeight: CGFloat = 40 // 表格行高

override func viewDidLoad() {

super.viewDidLoad()

// 首先创建一个滚动视图,图片还是tableView都放在这个滚动视图中

let scrollView = UIScrollView()

scrollView.frame = self.view.frame

scrollView.contentSize = CGSize(width: screenWidth,

height: CGFloat(rowNumber) * rowHeight + imageViewHeight)

scrollView.contentInsetAdjustmentBehavior = .never

scrollView.delegate = self

self.view.addSubview(scrollView)

// 初始化图片视图

self.imageView = UIImageView()

self.imageView.frame = CGRect(x: 0, y: 0, width: screenWidth,

height

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值