温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

ios如何实现tableView顶部弹簧图片效果

发布时间:2021-06-30 13:14:12 来源:亿速云 阅读:308 作者:小新 栏目:移动开发

这篇文章主要介绍ios如何实现tableView顶部弹簧图片效果,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

一种思路是将图片放置tableView的tableHeaderView上当tablview下移改变图片的frame达到效果。当然这个效果特别简单,高手可以略过。

代码如下

import UIKit class ViewController: UIViewController,UITableViewDataSource,UITableViewDelegate {  lazy var myTableView : UITableView! = {   var tableView = UITableView.init(frame: self.view.frame,style:UITableViewStyle.plain)   tableView.delegate = self   tableView.dataSource = self   tableView.register(UITableViewCell.classForCoder(), forCellReuseIdentifier: "mycell")   return tableView  }()    var headerImageView:UIImageView?  var headerView:UIView?  var headerViewHeight:CGFloat = 0.0      override func viewDidLoad() {   super.viewDidLoad()   // Do any additional setup after loading the view, typically from a nib.   setupUI()  }  func setupUI(){   headerView = UIView.init(frame: CGRect(x:0,y:0,width:self.view.frame.width,height:300))   headerViewHeight = headerView!.frame.height;   self.view.addSubview(headerView!)   headerImageView = UIImageView.init(frame: headerView!.frame)   headerImageView?.image = UIImage.init(named: "bg-mine")   headerView?.addSubview(headerImageView!)   myTableView.tableHeaderView = headerView   self.view.addSubview(myTableView)     }    func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {   return 2  }  func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {   let cell:UITableViewCell = tableView.dequeueReusableCell(withIdentifier: "mycell", for: indexPath)   cell.textLabel?.text = "测试"   return cell  }  func tableView(_ tableView: UITableView, heightForRowAt indexPath: IndexPath) -> CGFloat {   return 50  }    func scrollViewDidScroll(_ scrollView: UIScrollView) {   let contentOffSetY = scrollView.contentOffset.y   if contentOffSetY < 0 {    var rect = headerView?.frame    rect?.size.height = headerViewHeight - contentOffSetY    let headerViewWidth = headerView?.frame.size.width    rect?.size.width = headerViewWidth!*(headerViewHeight-contentOffSetY)/headerViewHeight    rect?.origin.x = -((rect?.size.width)! - headerViewWidth!)/2    rect?.origin.y = contentOffSetY    headerView?.frame = rect!    headerImageView?.frame = rect!   }   } }

以上是“ios如何实现tableView顶部弹簧图片效果”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI