Repository navigation
Expand file tree
/
Copy pathViewController.swift
More file actions
78 lines (55 loc) · 2.64 KB
/
Copy pathViewController.swift
File metadata and controls
78 lines (55 loc) · 2.64 KB
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
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
//
// ViewController.swift
// Dices
//
// Created by Alex Lopez on 20/09/2018.
// Copyright © 2018 Cristian Lopez. All rights reserved.
//
import UIKit
class ViewController: UIViewController {
@IBOutlet weak var leftDiceImageView: UIImageView!
@IBOutlet weak var rightDiceImageView: UIImageView!
@IBOutlet weak var playButton: UIButton!
let diceImages : [String]
let imagesDices : UInt32
required init?(coder aDecoder: NSCoder) {
self.diceImages = ["Dice1", "Dice2", "Dice3", "Dice4", "Dice5", "Dice6"]
self.imagesDices = UInt32(diceImages.count)
super.init(coder: aDecoder)
}
var leftIndexRandomDice : Int = 0
var rightIndexRandomDice : Int = 0
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
}
@IBAction func playButtonPressed(_ sender: UIButton) {
self.generateRandomDice()
}
//Custom functions
func generateRandomDice(){
self.leftIndexRandomDice = Int(arc4random_uniform(self.imagesDices))
self.rightIndexRandomDice = Int(arc4random_uniform(self.imagesDices))
UIView.animate(withDuration: 0.4, delay: 0, options: UIView.AnimationOptions.curveEaseInOut, animations: {
self.leftDiceImageView.transform = CGAffineTransform(scaleX: 0.6, y: 0.6).concatenating(CGAffineTransform(rotationAngle: CGFloat.pi/2)).concatenating(CGAffineTransform(translationX: -150, y: 150))
self.rightDiceImageView.transform = CGAffineTransform(scaleX: 0.6, y: 0.6).concatenating(CGAffineTransform(rotationAngle: CGFloat.pi/2)).concatenating(CGAffineTransform(translationX: 150, y: -150))
self.leftDiceImageView.alpha = 0.0
self.rightDiceImageView.alpha = 0.0
}) { (completed) in
self.leftDiceImageView.transform = CGAffineTransform.identity
self.rightDiceImageView.transform = CGAffineTransform.identity
self.leftDiceImageView.alpha = 1.0
self.rightDiceImageView.alpha = 1.0
self.leftDiceImageView.image = UIImage(named: self.diceImages[self.leftIndexRandomDice])
self.rightDiceImageView.image = UIImage(named: self.diceImages[self.rightIndexRandomDice])
}
}
override func becomeFirstResponder() -> Bool {
return true
}
override func motionEnded(_ motion: UIEvent.EventSubtype, with event: UIEvent?) {
if motion == .motionShake {
generateRandomDice()
}
}
}