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

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

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

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

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

Q&A

解決済

1回答

902閲覧

ボタンを逆さにしたい(xcode,swift)

isekiryu

総合スコア15

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

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

0グッド

0クリップ

投稿2020/09/02 13:34

前提・実現したいこと

イメージ説明

上のボタンを逆さにしたいです。
始めたばかりなので、まだどれが該当するものかを把握できていません。

該当のソースコード

// // ViewController.swift // stopWatchApp // // Created by user on 2020/08/31. // Copyright © 2020 user. All rights reserved. // import UIKit class ViewController: UIViewController { @IBOutlet weak var timerLabel: UILabel! @IBOutlet weak var startButton: UIButton! @IBOutlet weak var stopButton: UIButton! @IBOutlet weak var resetButton: UIButton! @IBOutlet weak var timerLabel2: UILabel! @IBOutlet weak var startButton2: UIButton! @IBOutlet weak var stopButton2: UIButton! @IBOutlet weak var resetButton2: UIButton! var startTime: TimeInterval? = nil var timer = Timer() var elapsedTime: Double = 0.0 var startTime2: TimeInterval? = nil var timer2 = Timer() var elapsedTime2: Double = 0.0 //初めの画面のことを示したもの。 override func viewDidLoad() { super.viewDidLoad() // start = true stop = false reset = false setButtonEnable(start: false, stop: false, reset: false) setButtonEnable2(start: true, stop: false, reset: false) //startButton2 = CGAffineTransform(rotationAngle: CGFloat.pi / 2) // Do any additional setup after loading the view. } func setButtonEnable(start: Bool, stop: Bool, reset: Bool) { self.startButton.isEnabled = start self.stopButton.isEnabled = stop self.resetButton.isEnabled = reset } func setButtonEnable2(start: Bool, stop: Bool, reset: Bool) { self.startButton2.isEnabled = start self.stopButton2.isEnabled = stop self.resetButton2.isEnabled = reset } @objc func update() { //print(Date.timeIntervalSinceReferenceDate) if let startTime = self.startTime { let t: Double = Date.timeIntervalSinceReferenceDate - startTime + self.elapsedTime // print(t) let min = Int(t / 60) let sec = Int(t) % 60 let msec = Int(t * 100) % 100 let mmsec = Int(t * 100 * 100) % 100 let mmmsec = Int(t * 100 * 100 * 100) % 100 let mmmmsec = Int(t * 100 * 100 * 100 * 100) % 100 let mmmmmsec = Int(t * 100 * 100 * 100 * 100 * 100) % 100 self.timerLabel.text = String(format: "%02d:%02d:%02d:%02d:%02d:%02d:%02d", min, sec, msec, mmsec, mmmsec, mmmmsec, mmmmmsec) } } @objc func update2() { //print(Date.timeIntervalSinceReferenceDate) if let startTime2 = self.startTime2 { let t: Double = Date.timeIntervalSinceReferenceDate - startTime2 + self.elapsedTime2 //print(t) let min2 = Int(t / 60) let sec2 = Int(t) % 60 let msec2 = Int(t * 100) % 100 let mmsec2 = Int(t * 100 * 100) % 100 let mmmsec2 = Int(t * 100 * 100 * 100) % 100 let mmmmsec2 = Int(t * 100 * 100 * 100 * 100) % 100 let mmmmmsec2 = Int(t * 100 * 100 * 100 * 100 * 100) % 100 self.timerLabel2.text = String(format: "%02d:%02d:%02d:%02d:%02d:%02d:%02d", min2, sec2, msec2, mmsec2,mmmsec2,mmmmsec2, mmmmmsec2) } } @IBAction func startTimer(_ sender: Any) { // start = false stop = true reset = false setButtonEnable(start: false, stop: true, reset: false) self.startTime = Date.timeIntervalSinceReferenceDate self.timer = Timer.scheduledTimer( timeInterval: 0.01, target: self, selector: #selector(self.update), userInfo: nil, repeats: true) } @IBAction func stopTimer(_ sender: Any) { // start = true stop = false reset = true setButtonEnable(start: false, stop: false, reset: true) if let startTime = self.startTime { self.elapsedTime += Date.timeIntervalSinceReferenceDate - startTime } self.timer.invalidate() } @IBAction func resetTimer(_ sender: Any) { // start = true stop = false reset = false setButtonEnable(start: false, stop: false, reset: false) self.startTime = nil self.timerLabel.text = "00:00:00:00:00:00:00" self.elapsedTime = 0.0 } @IBAction func startTimer2(_ sender: Any) { // start: false stop: true reset: false setButtonEnable2(start: false, stop: true, reset: false) self.startTime2 = Date.timeIntervalSinceReferenceDate self.timer2 = Timer.scheduledTimer( timeInterval: 0.01, target: self, selector: #selector(self.update2), userInfo: nil, repeats: true) } @IBAction func stopTimer2(_ sender: Any) { //start: true, stop: false reset: true setButtonEnable2(start: false, stop: false, reset: true) if let startTime2 = self.startTime2 { self.elapsedTime2 += Date.timeIntervalSinceReferenceDate - startTime2 } self.timer2.invalidate() } @IBAction func resetTimer2(_ sender: Any) { // start: true stop: false reset: false setButtonEnable2(start: true, stop: false, reset: false) self.startTime2 = nil self.timerLabel2.text = "00:00:00:00:00:00:00" self.elapsedTime2 = 0.0 } }

試したこと

引用テキスト

以下のサイトをみて使用しようと思って、いろいろなところに入れてみましたがうまくいきませんでした。

補足情報(FW/ツールのバージョンなど)

ここにより詳細な情報を記載してください。

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

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

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

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

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

tsuki01

2020/09/25 16:21

3週間以上質問が放置されています。以下の対応をお願いできませんでしょうか。 ・自己解決したならその旨回答を追加し、自己解決済みに更新する ・こちらが回答した内容で解決したなら、解決済みに更新する
guest

回答1

0

ベストアンサー

以下の様に記載することで、ボタンの上下反転ができませんでしょうか。
参考リンク:How to rotate a UILabel upside down in XCode, using Swift?

※どの変数が上のボタンが分からないので、ボタンの変数は適宜変更お願いします。

Swift

1override func viewDidLoad() { 2 super.viewDidLoad() 3 4 〜省略〜 5 startButton.transform = CGAffineTransform(rotationAngle: CGFloat(Double.pi)) 6 stopButton.transform = CGAffineTransform(rotationAngle: CGFloat(Double.pi)) 7 resetButton.transform = CGAffineTransform(rotationAngle: CGFloat(Double.pi)) 8 9 // もしくは、変数のあとに "2" がつく方 10 // startButton2.transform = CGAffineTransform(rotationAngle: CGFloat(Double.pi)) 11 // stopButton2.transform = CGAffineTransform(rotationAngle: CGFloat(Double.pi)) 12 // resetButton2.transform = CGAffineTransform(rotationAngle: CGFloat(Double.pi)) 13 14}

投稿2020/09/02 16:02

tsuki01

総合スコア1751

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.35%

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

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

質問する

関連した質問