iOS 開発 Swift-3-UI と Button Button-Shake the Dice アプリ

1.新しいプロジェクトDiceを作成します

 2. アイコン

 AppIcon を削除し、解凍した AppIcon.appiconset ファイルを Assets パッケージにドラッグします。

 3. Web ページを通じてマテリアル ポイント 1 ~ 6 を 2x および 3x バージョンに作成し、アセットにドラッグします。

 4. 対応する UI を設定します。

 5. Button コンポーネントをドラッグし、スタイルを設定します。

 6. Ctrl キーを押しながら Button を ViewController にドラッグし、Connection、Name などを設定して Connect をクリックします。

 同じ方法で 2 つのサイコロのコードを作成します。

import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var diceImageView1: UIImageView!
    
    @IBOutlet weak var diceImageView2: UIImageView!
    
    @IBAction func roll(_ sender: Any) {
    }
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }
    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
}

 7. 乱数を作成するコードの作成を続けます。

import UIKit

class ViewController: UIViewController {

    @IBOutlet weak var diceImageView1: UIImageView!
    
    @IBOutlet weak var diceImageView2: UIImageView!
    
    @IBAction func roll(_ sender: Any) {
        var index1: Int = Int.random(in: 1...6)
        var index2: Int = Int.random(in: 1...6)
        diceImageView1.image = UIImage(named: "dice\(index1)")
        diceImageView2.image = UIImage(named: "dice\(index2)")    }
    
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }

}

8. 起動して実行する

9. プログラムのロード時にランダムにサイコロを投げます

import UIKit

class ViewController: UIViewController {
    
    let diceArr = ["dice1", "dice2", "dice3", "dice4", "dice5", "dice6"]

    @IBOutlet weak var diceImageView1: UIImageView!
    
    @IBOutlet weak var diceImageView2: UIImageView!
    
    @IBAction func roll(_ sender: Any) {
        //调用摇骰子函数
        updateDiceImages()
    }
    
    //当程序加载的时候的活动
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        //调用摇骰子函数
        updateDiceImages()
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
    
    func updateDiceImages(){
        var index1: Int = Int.random(in: 0...5)
        var index2: Int = Int.random(in: 0...5)
        
        diceImageView1.image = UIImage(named: diceArr[index1])
        diceImageView2.image = UIImage(named: diceArr[index2])    }
    
}

10. ユーザーがサイコロを振ると、サイコロシェイク関数が呼び出されます。

import UIKit

class ViewController: UIViewController {
    
    let diceArr = ["dice1", "dice2", "dice3", "dice4", "dice5", "dice6"]

    @IBOutlet weak var diceImageView1: UIImageView!
    
    @IBOutlet weak var diceImageView2: UIImageView!
    
    @IBAction func roll(_ sender: Any) {
        //调用摇骰子函数
        updateDiceImages()
    }
    
    //当程序加载的时候的活动
    override func viewDidLoad() {
        super.viewDidLoad()
        // Do any additional setup after loading the view, typically from a nib.
        //调用摇骰子函数
        updateDiceImages()
    }

    override func didReceiveMemoryWarning() {
        super.didReceiveMemoryWarning()
        // Dispose of any resources that can be recreated.
    }
    
    func updateDiceImages(){
        var index1: Int = Int.random(in: 0...5)
        var index2: Int = Int.random(in: 0...5)
        
        diceImageView1.image = UIImage(named: diceArr[index1])
        diceImageView2.image = UIImage(named: diceArr[index2])    }
    
    //当用户摇晃手机时触发摇骰子
    override func motionEnded(_ motion: UIEventSubtype, with event: UIEvent?) {
        updateDiceImages()
    }
    
}

おすすめ

転載: blog.csdn.net/LYly_B/article/details/132553143