Swift - 图像控件(UIImageView)的用法
1,使用图像控件显示图片
2,改变图片
3,从文件目录中获取图片
4,从网络地址获取图片
5,使用图像控件实现动画播放
UIImageView中提供了存储多张图片来创建动画的功能,具体做法是,在animationImages属性中设置一个图片数组,然后使用 startAnimating方法开始动画,最后用stopAnimating方法停止动画。同时,使用animationDuration属性中可以设 置动画每帧切换的速度(秒)。
1
2
3
|
var imageView= UIImageView (image: UIImage (named: "icon" )) imageView.frame= CGRectMake (10,10,100,100) self .view.addSubview(imageView) |
2,改变图片
1
|
imageView.image= UIImage (named: "icon2" ) |
3,从文件目录中获取图片
1
2
3
4
|
let path = NSBundle .mainBundle().pathForResource( "apple" , ofType: "png" ) var newImage = UIImage (contentsOfFile: path!) var imageView = UIImageView (image:newImage) self .view.addSubview(imageView) |
4,从网络地址获取图片
1
2
3
4
5
6
7
8
|
//定义NSURL对象 //从网络获取数据流 var data = NSData (contentsOfURL: url!) //通过数据流初始化图片 var newImage = UIImage (data: data!) var imageView = UIImageView (image:newImage); self .view.addSubview(imageView) |
5,使用图像控件实现动画播放
UIImageView中提供了存储多张图片来创建动画的功能,具体做法是,在animationImages属性中设置一个图片数组,然后使用 startAnimating方法开始动画,最后用stopAnimating方法停止动画。同时,使用animationDuration属性中可以设 置动画每帧切换的速度(秒)。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
|
class ViewController : UIViewController { var imageView: UIImageView ! override func viewDidLoad() { super .viewDidLoad() imageView= UIImageView () imageView.frame= CGRectMake (10,10,100,100) //设置动画图片 imageView.animationImages=[ UIImage (named: "icon" )!, UIImage (named: "icon2" )!] as [ AnyObject ] //设置每隔0.5秒变化一次 imageView.animationDuration=0.5 self .view.addSubview(imageView) } override func viewWillAppear(animated: Bool ) { super .viewWillAppear(animated) imageView.startAnimating() } override func viewWillDisappear(animated: Bool ) { super .viewWillAppear(animated) imageView.stopAnimating() } } |
分类:
Swift语言
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
2014-09-25 Android 出现警告Exported service does not require permission
2013-09-25 Android中的JSON详细总结