7、swift中UIImageView的使用方法

如下代码以及相应的注释:

//

//  ViewController.swift

//  ImageView

//

//  Created by sunxj on 15/12/5.

//  Copyright © 2015 sunxj. All rights reserved.

//


import UIKit


class ViewController: UIViewController {

    var image:UIImageView?

    var btn:UIButton?

    var btn1:UIButton?

    var btn2:UIButton?

    var btn3:UIButton?

    var btn4:UIButton?

    var btn5:UIButton?

    var change1:CGFloat=50

    var x:CGFloat=160

    var y:CGFloat=150

    var roating:CGFloat=10

    var imageFlag:Bool=true

    override func viewDidLoad() {

        super.viewDidLoad()

        // Do any additional setup after loading the view, typically from a nib.

        image=UIImageView()

        image?.frame=CGRectMake(10,50,300,200)

        //此图像的中心点坐标为:300/2+10,200/2+50,结果为:160150

        btn=UIButton(type:UIButtonType.System)

        btn?.frame=CGRectMake(10,260,100,30)

        btn?.setTitle("更改位置", forState: UIControlState.Normal)

        

        btn1=UIButton(type:UIButtonType.System)

        btn1?.frame=CGRectMake(10,300,100,30)

        btn1?.setTitle("旋转图像", forState: UIControlState.Normal)

        

        btn2=UIButton(type:UIButtonType.System)

        btn2?.frame=CGRectMake(10,340,100,30)

        btn2?.setTitle("缩放图像", forState: UIControlState.Normal)

        

        btn3=UIButton(type:UIButtonType.System)

        btn3?.frame=CGRectMake(10,380,100,30)

        btn3?.setTitle("放大图像", forState: UIControlState.Normal)

        

        btn4=UIButton(type:UIButtonType.System)

        btn4?.frame=CGRectMake(10,420,100,30)

        btn4?.setTitle("透明度大", forState: UIControlState.Normal)

        

        btn5=UIButton(type:UIButtonType.System)

        btn5?.frame=CGRectMake(10,460,100,30)

        btn5?.setTitle("透明度小", forState: UIControlState.Normal)

        

        btn?.addTarget(self,action:"changePosition",forControlEvents:UIControlEvents.TouchDown)

        btn1?.addTarget(self,action:"rotatingImage",forControlEvents:UIControlEvents.TouchDown)

        btn2?.addTarget(self,action:"zoomImage",forControlEvents:UIControlEvents.TouchDown)

        btn3?.addTarget(self,action:"amplificationImage",forControlEvents:UIControlEvents.TouchDown)

        btn4?.addTarget(self,action:"transparencyAdd",forControlEvents:UIControlEvents.TouchDown)

        btn5?.addTarget(self,action:"transparencyReduce",forControlEvents:UIControlEvents.TouchDown)

        image?.userInteractionEnabled=true//使图像的点击事件生效

        let touch=UITapGestureRecognizer(target:self,action:"changeImage")

        image?.addGestureRecognizer(touch)//imageView添加点击事件,事件的方法通过touch来指定

        image?.image=UIImage(named:"iphone5s")

        self.view.addSubview(btn!)

        self.view.addSubview(btn1!)

        self.view.addSubview(btn2!)

        self.view.addSubview(btn3!)

        self.view.addSubview(btn4!)

        self.view.addSubview(btn5!)

        self.view.addSubview(image!)

    }

    func changePosition(){

        //change1+=10//修改的相当于y坐标

        //image?.frame=CGRectMake(10,change1,300,200)//方法一、修改frame可以移动图片位置

        //image?.transform=CGAffineTransformMakeTranslation(10,change1)//方法二,只需要更改y坐标即可向下移动

        y+=10//修改y则是向下移动,修改x则是向右移动

        image?.center=CGPointMake(x,y)//方法三、修改center中心点坐标移动图片位置

        

        

    }

    func rotatingImage(){

        image?.transform=CGAffineTransformMakeRotation(roating)//使图像旋转

        roating+=10

        if(roating>50){

            roating=10

        }

    }

    func zoomImage(){

        image?.transform=CGAffineTransformMakeScale(0.6,0.6)//使图像的长和宽同时缩小0.6

    }

    func amplificationImage(){

        image?.transform=CGAffineTransformMakeScale(1,1)//使图像的长和宽同时放大1

    }

    func transparencyAdd(){

        image?.alpha-=0.1//使透明增加,范围从01之间

    }

    func transparencyReduce(){

        image?.alpha+=0.1//使透明减小,范围从01之间

    }

    func changeImage(){//图片点击事件方法

        if(imageFlag){

            image?.image=UIImage(named:"iphone5s1")//更换要显示的图片

            imageFlag=false

        }

        else{

            image?.image=UIImage(named:"iphone5s")

            imageFlag=true

        }

    }

    override func didReceiveMemoryWarning() {

        super.didReceiveMemoryWarning()

        // Dispose of any resources that can be recreated.

    }

}


以下是相应的运行效果:

1、更改图像位置


初始位置效果


改变位置后的效果



旋转之后的效果


缩放之后的效果


放大之后的效果


增加透明度的效果


减小透明度的效果


更换图片的效果

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值