Swift UIImageView的用法

620 阅读1分钟

这两天在学ios开发,把学到的一些东西记录下来。

声明UIImageView

//ViewController.swift
let img = UIImage(named: "1")
let imageView = UIImageView(frame: CGRect(x: 140, y: 240, width: 200, height: 300))
imageView.image = img
view.addSubview(imageView)

tip:这里的"1"是指我在Assets.xcassets里面import的图片名,可以不写后缀

给UIImageView添加属性

//设置背景颜色
imageView.backgroundColor = UIColor.green
//图片自适应
imageView.contentMode = UIView.ContentMode.scaleAspectFit
//设置遮罩 防止子元素大小溢出父元素
imageView.layer.masksToBounds = true
//设置圆角半径(宽度的一半),显示成圆形
imageView.layer.cornerRadius = imageView.frame.width/2
//设置边框
imageView.layer.borderColor = UIColor.orange.cgColor
imageView.layer.borderWidth = 2
//控制子视图超出父视图的时候是否隐去超出的部分
imageView.clipsToBounds = true
//居中
imageView.center = view.center
//添加交互
override func viewDidLoad() {
    ......
    imageView.isUserInteractionEnabled = true;
    let tap = UITapGestureRecognizer.init(target: self, action: #selector(tapAction));
    imageView.addGestureRecognizer(tap);
}

@objc func tapAction(tap:UITapGestureRecognizer) {
    var frame = tap.view?.frame;
    frame = CGRect.init(x: 100, y: 100, width: 300, height: 300);
    tap.view?.frame = frame!;
}

使用imageView实现图片动画轮播

var images:Array<UIImage> = []
for i in 1 ..< 4 {
    let image = UIImage(named: "\(i)")
    images.append(image!)
}

let imageView = UIImageView(frame: CGRect(x: 140, y: 240, width: 100, height: 100))
//设置图像视图的动画图片属性
imageView.animationImages = images
//设置帧动画的时长为3秒
imageView.animationDuration = 3
//设置动画循环次数,0为无限播放
imageView.animationRepeatCount = 2
//开始动画的播放
imageView.startAnimating()

view.addSubview(imageView)

借鉴链接:

www.jianshu.com/p/cc0d826db… blog.csdn.net/weixin_4204…