swift3.0实现图片放大缩小动画效果

2020-01-21 01:19:22王振洲

2. LJPhotoInfo:图片信息的model


import Foundation 
import UIKit 
 
class LJPhotoInfo: NSObject { 
   
  var currentSelectIndex : Int? 
  var largeImageURLStr : String? 
  var thumbImageview : UIImageView? 
   
  override init() { 
    super.init() 
  } 
} 

3.LJPhotoView:图片浏览管理类用到的cell(图片显示)


import Foundation 
import UIKit 
 
class LJPhotoView: UIScrollView { 
   
  var ljInfo : LJPhotoInfo? 
   
  lazy var ljImageView : UIImageView = { 
      let view = UIImageView() 
      view.clipsToBounds = true 
      view.contentMode = .scaleAspectFit 
      return view 
    }() 
   
  override init(frame: CGRect) { 
    super.init(frame: frame) 
    self.zoomScale = 1.0 
    self.addSubview(self.ljImageView) 
  } 
   
  required init?(coder aDecoder: NSCoder) { 
    fatalError("init(coder:) has not been implemented") 
  } 
} 
 
extension LJPhotoView{ 
  func setCurrentImageview(_ info : LJPhotoInfo){ 
    self.ljInfo = info 
    if self.ljInfo?.thumbImageview?.image == nil{ 
      self.ljInfo?.thumbImageview?.image = UIImage.init(named: "pic_broadcast_gray_square") 
    } 
     
    //无url,则通过thumbImageview获取Image展示 
    //self.ljImageview.image = info.thumbImageview.image; 
    let y : CGFloat? = (AppHeight - (info.thumbImageview?.image?.size.height)! * AppWidth / (info.thumbImageview?.image?.size.width)!) * 0.5; 
    self.ljImageView.frame = CGRect(x: 0, y: y!, width: AppWidth, height: AppWidth*(info.thumbImageview?.image?.size.height)!/(info.thumbImageview?.image?.size.width)!) 
    self.ljImageView.image = self.ljInfo?.thumbImageview?.image 
     
    if info.largeImageURLStr != "" { 
      let url = URL(string:info.largeImageURLStr!) 
      self.ljImageView.kf.setImage(with: url) 
    } 
  } 
} 

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持ASPKU。


注:相关教程知识阅读请移步到IOS开发频道。