在Swift中工作UIButton动画
我一直在试图让这个snippit的代码工作,但我似乎无法让我的UIButton通过图像进行动画处理。在Swift中工作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拖动了一个按钮,我想通过故事板中的图像设置动画。 我在做什么错?
您需要做的是不要在函数animation
中重新初始化UIButton
;所以,注释掉该行:
//var animationButton : UIButton!
而且仅仅有一个IBOutlet
,我们也是一个IBAction
需要你的函数animation
。通过控制拖动“行”到功能块(请检查IBAction
,而不是IBOutlet
),做与按钮相同的操作。
一个小步行通过,而你仍然在故事板:
你有什么是只有一个名为按钮:
animationButton
,这是从你的故事板的IBOutlet
您通过控制拖动“行”来实现代码。对于您的
animation
功能: 控制也从故事板从按钮“行”拖动到animation
功能块。- 为故事板设置一个初始图像按钮,这将在下面简要提及。
此外,我们需要建立一个初始图像中的故事板;否则,该按钮的图像属性为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()
}
刚跑到一个快速测试;它会获得触摸事件和按钮上的动画图像。希望这可以帮助。
谢谢。在阅读你的答案时,我发现我的代码出了什么问题。我的按钮的图像属性为零。在这个领域放置一个图像解决了我的问题,我的屏幕现在变得疯狂! –
UIButton未初始化... – Shoaib
这就是为什么在适当的时候应该使用''''和'!'。不要“?”所有代码,因为它会隐藏错误。如果应该有什么东西在那里用武力解开'!'。或者在这种情况下只是一个非可选变量。你很早就会看到这个问题。 –
i)初始化UIButton ii)设置它的框架iii)addSubview在你的视图上 – Shoaib