如下代码以及相应的注释:
//
// 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,结果为:160,150
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//使透明增加,范围从0到1之间
}
func transparencyReduce(){
image?.alpha+=0.1//使透明减小,范围从0到1之间
}
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、更改图像位置
初始位置效果
改变位置后的效果
旋转之后的效果
缩放之后的效果
放大之后的效果
增加透明度的效果
减小透明度的效果
更换图片的效果