欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  移动技术

ios 图片旋转 放大,缩小,平移实现方法

程序员文章站 2022-05-04 10:59:23
point_me ios课程 第二个实验 点我啊 swift 4.0 功能 图片循环播放,暂停播放 上下左右平移,旋转 通过slide来旋转图片 动作的动画 效果 功能解释 上下平移 通过cent...

point_me

ios课程 第二个实验

点我啊 swift 4.0

功能

图片循环播放,暂停播放 上下左右平移,旋转 通过slide来旋转图片 动作的动画

效果

ios 图片旋转 放大,缩小,平移实现方法

功能解释

上下平移

通过center来上下平移
如果通过origin.x来平移
图形在旋转是会发生变化

放大和缩小

通过bounds.size.height 和bounds.size。width来放大和缩小 不然旋转时会改变大小

imageview

建立一个imageview 在目录下建立个image文件夹,放入图片

 let imgarr=[uiimage(named: "1_13.jpg")!,

 uiimage(named: "1_31.jpg")!,

 uiimage(named: "imag.jpg")!,

 ]

 ```

可以设置轮播


## 图片旋转

-   let rad=20/180*float(double.pi)

myimageview.transform=cgaffinetransform(rotationangle: cgfloat(rad))

- 连续旋转

  let rad=20/180*float(double.pi)
 myimageview.transform=myimageview.transform.rotated(by: cgfloat(rad))


- 按照周期不停旋转

let rotationanim = cabasicanimation(keypath: “transform.rotation.z”)

// // 2.设置动画的属性

// rotationanim.fromvalue = 0

// rotationanim.tovalue = m_pi * 2

// rotationanim.repeatcount = maxfloat

// rotationanim.duration = 1

// // 这个属性很重要 如果不设置当页面运行到后台再次进入该页面的时候 动画会停止

// rotationanim.isremovedoncompletion = false

// // 3.将动画添加到layer中

// myimageview.layer.add(rotationanim, forkey: nil)



### button

使用tag 向button传值

button1.addtarget(self, action: #selector(viewcontroller.play(sender:)), for: .touchupinside)
@objc func play(sender:uibutton) {

// tag==0 start

if sender.tag==0{
myimageview.startanimating()
}
}


## slider

myslider=uislider(frame: cgrect(x:20, y:380, width: 300, height: 20))
myslider.addtarget(self, action: #selector(valuechanged(_sender:)), for:uicontrolevents.valuechanged)

myslider.minimumvalue=0

myslider.maximumvalue=180

“`

github