Ios 在Swift中处理按钮动画
我一直在尝试让这段代码发挥作用,但我似乎无法让我的UIButton在图像中设置动画Ios 在Swift中处理按钮动画,ios,swift,animation,uibutton,Ios,Swift,Animation,Uibutton,我一直在尝试让这段代码发挥作用,但我似乎无法让我的UIButton在图像中设置动画 @IBOutlet weak var screenButton: UIButton!; func animation(){ var animationButton : UIButton!; var imageList = [UIImage](); var image1:UIImage = UIImage(named:"3fingers-o-l-animation
@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拖了一条线到我想要在故事板中的图像中设置动画的按钮。
我做错了什么 您需要做的是不要重新初始化功能
动画中的ui按钮;因此,请将这一行注释掉:
//var animationButton : UIButton!
除了有一个IBOutlet
,我们还需要一个IBAction
到您的函数动画
。通过控件拖动一条“线”到功能块,执行与按钮相同的操作(选中IBAction
,而不是IBOutlet
)
在故事板中进行一次小的穿行:
- 您只有一个名为:
animationButton
的按钮,它是一个通过控件拖动“线”从故事板到代码的IBOutlet
- 对于
动画
功能:
还可以控制从情节提要按钮a“线”到动画
功能块的拖动
- 在故事板中为您的按钮设置初始图像,如下所述
此外,我们需要在故事板中设置初始图像;否则,按钮的图像属性为nil
请在情节提要中单击右侧的“属性检查器”,然后在显示“图像”的位置设置图像。作为测试,我将其设置为“1.jpg”
因此,您的代码应该如下所示:
@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()
}
只是进行了一次快速测试;它获取触摸事件,并在按钮上设置图像动画。希望这有帮助。ui按钮未初始化…这就是为什么您应该使用?
和代码>适当时。不要?
所有的代码,因为它会隐藏bug。如果有什么东西应该在那里,使用一个力展开代码>。或者在这种情况下,只是一个非可选变量。你会很早就看到这个问题。i)初始化ui按钮ii)设置它的帧iii)在视图上添加子视图我已经尝试了你的建议,但仍然无法让它工作。我已经用我所做的编辑了我的问题。谢谢。当阅读你的答案时,我发现我的代码有什么问题。我的按钮的图像属性为零。在那个区域放置一个图像修复了我的问题,我的屏幕现在像疯了一样动画!