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

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

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

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

Q&A

解決済

1回答

1258閲覧

Swift Buttonについて

tkck

総合スコア32

Swift

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

0グッド

0クリップ

投稿2016/08/02 06:17

編集2016/08/02 07:32

segueを使い、
遷移先で変数をインクリメントし
変数の数ごとに画像を表示させています。

表示させ終わったら元のsegueしていたところへ戻したいのですが、
前ページへ接続したButtonを表示することができず戻すことができません。

Buttonを表示する方法または
Buttonを使わず戻す方法がありましたら教えていただきたいです。
よろしくお願いいたします。

import AVFoundation import UIKit class ViewController2: UIViewController { var _imageView: UIImageView! //イメージビュー var _animeIdx = 0 //アニメーションインデックス override func viewDidLoad() { super.viewDidLoad() // Do any additional setup after loading the view, typically from a nib. } //タッチ終了時に呼ばれる override func touchesEnded(touches: Set<UITouch>, withEvent event: UIEvent?) { _animeIdx++ //イメージビューの生成 _imageView = makeImageView(self.view.frame, idx: _animeIdx) self.view.addSubview(_imageView) //ビューの生成 let nextView = makeImageView(self.view.frame, idx: _animeIdx) //UIViewアニメーションの設定開始 UIView.beginAnimations("transition", context: nil) UIView.setAnimationDuration(1.0) //トランジションアニメーションの設定(1) var transition = UIViewAnimationTransition.FlipFromLeft if _animeIdx == 1 { transition = UIViewAnimationTransition.CurlUp} if _animeIdx == 2 { transition = UIViewAnimationTransition.CurlUp} if _animeIdx == 3 { transition = UIViewAnimationTransition.CurlUp} if _animeIdx == 4 { transition = UIViewAnimationTransition.CurlUp} if _animeIdx == 5 { transition = UIViewAnimationTransition.CurlUp} if _animeIdx == 6 { transition = UIViewAnimationTransition.CurlUp} if _animeIdx == 7 { transition = UIViewAnimationTransition.CurlUp} UIView.setAnimationTransition(transition, forView: self.view, cache: true) //ビューの変更(2) _imageView.removeFromSuperview() _imageView = nextView self.view.addSubview(_imageView) //UIViewアニメーションの実行 UIView.commitAnimations() //アニメーションINDEXの遷移 if _animeIdx > 7 { _animeIdx = 0 } } //イメージビューの生成 func makeImageView(rect: CGRect, idx: Int) -> UIImageView { let imageView = UIImageView() imageView.image = UIImage(named: "sample\(idx)_1.png") imageView.frame = rect imageView.contentMode = UIViewContentMode.ScaleAspectFit imageView.backgroundColor = UIColor.whiteColor() imageView.autoresizingMask = [ UIViewAutoresizing.FlexibleRightMargin, UIViewAutoresizing.FlexibleTopMargin, UIViewAutoresizing.FlexibleLeftMargin, UIViewAutoresizing.FlexibleBottomMargin, UIViewAutoresizing.FlexibleWidth, UIViewAutoresizing.FlexibleHeight] return imageView } }

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

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

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

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

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

fuzzball

2016/08/02 06:45

質問文とコードの関係が全く分からないのですが。ViewController2が「遷移先」なのでしょうか?
tkck

2016/08/02 06:48

すみません。そのとおりです。
fuzzball

2016/08/02 07:21

SegueではなくButtonの質問なのであればタイトルを修正して下さい。
guest

回答1

0

ベストアンサー

前の画面に戻るだけならdismissViewControllerAnimatedでいいんじゃないでしょうか?

swift

1@IBAction func pushedButton(sender: UIButton) { 2 self.dismissViewControllerAnimated(true) { 3 print("dismissed") 4 } 5}

ButtonのActionをこれに繋いで下さい。

投稿2016/08/02 06:53

fuzzball

総合スコア16731

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

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

tkck

2016/08/02 07:08

ありがとうございます。 画像を表示し終わった後Buttonが表示できていないのが現状です・・・
fuzzball

2016/08/02 07:10

Storyboard上でButtonを置くだけですが?
tkck

2016/08/02 07:15

すみません。 質問が違いました。 画像全て表示後にButtonを出したいです。 現状画像表示前にButtonが出ています。
fuzzball

2016/08/02 07:20

Storyboard上でhiddenにチェックを入れて非表示にしておいて、必要になったときにコード側で button.hidden = false で表示されます。
tkck

2016/08/02 08:23

画像表示し終わった後の遷移先に問題があるのか 表示されないです。 もう少し考えてみます。
tkck

2016/08/02 08:38

教えていただいた self.dismissViewControllerAnimated(true, completion: nil) を接続せず 直に使うことでButtunに左右されず前画面に戻すことができました。 ありがとうございます!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問