我一直试图让这些代码能够运行,但我似乎无法让我的UIButton通过图像制作动画。
@IBOutlet weak var screenButton: UIButton!;
func animation(){
var animationButton : UIButton!;
var imageList = [UIImage]();
var image1:UIImage = UIImage(named:"3fingers-o-l-animation1.png")!;
var image2:UIImage = UIImage(named:"4fingers-o-l-animation1.png")!;
animationButtonscreenButton = screenButton;
imageList = [image1, image2];
animationButton!.imageView!.animationImages = imageList;
animationButton!.imageView!.animationDuration = 1.0;
animationButton!.imageView!.startAnimating();
}
编写完这段代码之后,我将一行从screenButton拖到我要通过Storyboard中的图像设置动画的按钮上。 我究竟做错了什么?
答案 0 :(得分:1)
您需要做的是不重新初始化函数UIButton
中的animation
;所以,注释掉这一行:
//var animationButton : UIButton!
除了IBOutlet
之外,我们还需要IBAction
您的函数animation
。通过控制拖动"线来做与按钮相同的操作"到功能块(检查IBAction
,而不是IBOutlet
)。
当您还在故事板中时,有点走路:
您所拥有的只有一个名为animationButton
的按钮,它是从您的故事板到您的代码的IBOutlet
,通过控制拖动&#34;行&#34;。< / p>
对于您的animation
功能:
控制 - 从按钮a&#34; line&#34;到animation
函数的块。
另外,我们需要在故事板中设置初始图像;否则,按钮的图像属性为nil
。
请在故事板中点击右侧&#34;属性检查员&#34;然后设置一个图像,表示&#34;图像&#34;。作为测试,我将其设置为&#34; 1.jpg&#34;。
因此,您的代码应如下所示:
@IBOutlet weak var animationButton: UIButton!
@IBAction func animation()
{
print("button touched")
//var animationButton : UIButton!
var imageList = [UIImage]()
var image1:UIImage = UIImage(named:"1.jpg")!
var image2:UIImage = UIImage(named:"2.jpg")!
//animationButtonscreenButton = screenButton;
imageList = [image1, image2];
animationButton!.imageView!.animationImages = imageList
animationButton!.imageView!.animationDuration = 1.0
animationButton!.imageView!.startAnimating()
}
刚刚进行了快速测试;它获取触摸事件,图像在按钮上生动。希望这会有所帮助。