UIImageView 动画错误
Error in UIImageView Animation
绝对Swift初学者。
我一直在尝试获取一组简单的 png 来制作动画。
这是我的:
如有任何帮助,我们将不胜感激。
谢谢
#import <UIKit/UIKit.h>
class ViewController: UIViewController {
@IBOutlet var myImageView : UIImageView
@IBOutlet var animationBtn : UIButton
var imageList = UIImage[]()
@IBAction func animationBtnClicked(sender : AnyObject) {
startAnimation()
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
for i in 1...13
{
let imageName = "\(i)"
imageList += UIImage(named: imageName)
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func startAnimation() -> Void
{
if !myImageView.isAnimating()
{
myImageView.animationImages = imageList
myImageView.startAnimating()
animationBtn.setTitle("Stop Animation", forState: UIControlState.Normal)
} else
{
myImageView.stopAnimating()
myImageView.image = UIImage(named:"bomb.jpg")
animationBtn.setTitle("Start Animation", forState: UIControlState.Normal)
}
}
}
如果对大家有帮助的话,这里是调整后的代码。
干杯
导入 UIKit
class ViewController: UIViewController {
@IBOutlet var myImageView: UIImageView!
@IBOutlet var animationBtn: UIButton!
var imageList = [UIImage]()
@IBAction func animationBtnClicked(sender: AnyObject) {
startAnimation()
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
for i in 1...99
{
let imageName = "\(i)"
imageList.append(UIImage(named: imageName)!)
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func startAnimation() -> Void
{
myImageView.animationImages = imageList
myImageView.startAnimating()
}
}
这些错误消息显示了确切的问题。
第 1 期
为了修复 has no initializers
,您需要在 class 中实现至少一个初始化函数。
第 2 期
为了修复 IBOutlet has non-optional
,您需要将 IBOutlet
变量更改为可选变量。
@IBOutlet var myImageView : UIImageView!
@IBOutlet var animationBtn : UIButton!
第 3 期
修复 [UIImage] is not identical to UInt8
。 +=
不能用于将单个 UIImage
附加到 [UIImage]
您需要更改:
imageList += UIImage(named: imageName)
到
imageList.append(UIImage(named: imageName))
绝对Swift初学者。
我一直在尝试获取一组简单的 png 来制作动画。
这是我的:
如有任何帮助,我们将不胜感激。
谢谢
#import <UIKit/UIKit.h>
class ViewController: UIViewController {
@IBOutlet var myImageView : UIImageView
@IBOutlet var animationBtn : UIButton
var imageList = UIImage[]()
@IBAction func animationBtnClicked(sender : AnyObject) {
startAnimation()
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
for i in 1...13
{
let imageName = "\(i)"
imageList += UIImage(named: imageName)
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func startAnimation() -> Void
{
if !myImageView.isAnimating()
{
myImageView.animationImages = imageList
myImageView.startAnimating()
animationBtn.setTitle("Stop Animation", forState: UIControlState.Normal)
} else
{
myImageView.stopAnimating()
myImageView.image = UIImage(named:"bomb.jpg")
animationBtn.setTitle("Start Animation", forState: UIControlState.Normal)
}
}
}
如果对大家有帮助的话,这里是调整后的代码。 干杯
导入 UIKit
class ViewController: UIViewController {
@IBOutlet var myImageView: UIImageView!
@IBOutlet var animationBtn: UIButton!
var imageList = [UIImage]()
@IBAction func animationBtnClicked(sender: AnyObject) {
startAnimation()
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
for i in 1...99
{
let imageName = "\(i)"
imageList.append(UIImage(named: imageName)!)
}
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func startAnimation() -> Void
{
myImageView.animationImages = imageList
myImageView.startAnimating()
}
}
这些错误消息显示了确切的问题。
第 1 期
为了修复 has no initializers
,您需要在 class 中实现至少一个初始化函数。
第 2 期
为了修复 IBOutlet has non-optional
,您需要将 IBOutlet
变量更改为可选变量。
@IBOutlet var myImageView : UIImageView!
@IBOutlet var animationBtn : UIButton!
第 3 期
修复 [UIImage] is not identical to UInt8
。 +=
不能用于将单个 UIImage
附加到 [UIImage]
您需要更改:
imageList += UIImage(named: imageName)
到
imageList.append(UIImage(named: imageName))