質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

2回答

626閲覧

Swiftでスライドショーアプリ

ZY.

総合スコア22

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2018/12/24 09:41

編集2018/12/26 05:45

前提・実現したいこと

Swiftでボタンをタップしたときに次に進むまたは戻るスライドショーアプリを作りたいです。

該当のソースコード

Swift

import UIKit

class ViewController: UIViewController {
@IBOutlet weak var UIImageView: UIImageView!

let images = [UIImage(named: "1"), UIImage(named: "2"), UIImage(named: "3")] 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. } @IBAction func backImage(_ sender: Any) { } @IBAction func nextImage(_ sender: Any) { UIImageView.image = images[0] } @IBAction func startStop(_ sender: Any) { }

}

### 試したこと

@IBAction func nextImage(_ sender: Any) {
UIImageView.image = images[0]
}

進む、戻るボタンを押したときそれぞれ違う画像を表示させたいのですが、このコードだと最初の画像しか表示できません。 動的にimageviewを切り替えるにはどのようにしたらようのですか? ### 補足情報(FW/ツールのバージョンなど) ここにより詳細な情報を記載してください。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

配列を使うことがわかりましたが、どのようにして取り出すのかわかりません。

0番目の要素ならimages[0]で取り出せます。

投稿2018/12/25 01:00

takabosoft

総合スコア8356

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

ZY.

2018/12/26 05:43 編集

``` @IBAction func nextImage(_ sender: Any) { UIImageView.image = images[0] } ``` 進む、戻るボタンを押したときそれぞれ違う画像を表示させたいのですが、このコードだと最初の画像しか表示できません。 動的にimage viewを切り替えるにはどのようにしたらようのですか?
takabosoft

2018/12/26 07:19

メンバーにvar imageIndex = 0などと変数を定義し、ボタンを押したらこの変数を足すなり引くなりし、images[imageIndex]でアクセスすれば良いです。なお、存在しない画像番号(-1番目)などにアクセスしないようにしてください。
guest

0

自己解決

参考にして書いてみたところうまく機能しました!

Swift

1@IBAction func backImage(_ sender: Any) { 2 if imageIndex == 0 { 3 imageIndex = 2 4 } else { 5 imageIndex -= 1 6 } 7 UIImageView.image = images[imageIndex] 8 } 9 10 @IBAction func nextImage(_ sender: Any) { 11 if imageIndex < 1 { 12 imageIndex += 1 13 } else if imageIndex < 2 { 14 imageIndex += 1 15 } else if imageIndex < 3 { 16 imageIndex -= 2 17 } 18 UIImageView.image = images[imageIndex] 19 }

投稿2018/12/27 11:07

ZY.

総合スコア22

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問