🎄teratailクリスマスプレゼントキャンペーン2024🎄』開催中!

\teratail特別グッズやAmazonギフトカード最大2,000円分が当たる!/

詳細はこちら
Xcode

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

Swift

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

iPhone

iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

Q&A

解決済

1回答

1297閲覧

Xcode iPhoneの実機テストでUILabelだけが表示されない

PJwnOI

総合スコア39

Xcode

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

Swift

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

iPhone

iPhoneとは、アップル社が開発・販売しているスマートフォンです。 同社のデジタルオーディオプレーヤーiPodの機能、電話機能、インターネットやメールなどのWeb通信機能の3つをドッキングした機器です。

0グッド

0クリップ

投稿2019/11/05 11:56

編集2019/11/06 12:06

前提・実現したいこと

iPhoneで動作するストップウォッチアプリを作っています。
スタートボタンやストップボタン等のフリー画像をUIButtonとして使用しており、時間の表示はUILabelです。

発生している問題・エラーメッセージ

シミュレータで実行すると、UIlabelもUIButtonも表示され何も問題がなかったのですが、
実機テストを行ったところ、UILabelが表示されなくなりました。

2019-11-05 21:11:16.340544+0900 StopWatchApp_1[16457:17987353] Could not load the "_IBBrokenImage_" image referenced from a nib in the bundle with identifier "hogehoge.com.StopWatchApp-1"

該当のソースコード

Swift

1 2import UIKit 3 4class ViewController: UIViewController { 5 6 @IBOutlet weak var M_TimerLabel: UILabel! 7 @IBOutlet weak var S_TimerLabel: UILabel! 8 @IBOutlet weak var MS_TimerLAbel: UILabel! 9 10 @IBOutlet weak var Colon: UILabel! 11 @IBOutlet weak var period: UILabel! 12 13 @IBOutlet weak var Start_button: UIButton! 14 @IBOutlet weak var Stop_button: UIButton! 15 @IBOutlet weak var Reset_button: UIButton! 16 17 weak var timer: Timer! 18 var startTime = Date() 19 var TotalTime = 0.0 20 21 @IBAction func TimeStartButton(_ sender: Any) { 22 if timer != nil{ 23 timer.invalidate() 24 } 25 else{ 26 startTime = Date() 27 } 28 timer = Timer.scheduledTimer( 29 timeInterval: 0.01, 30 target: self, 31 selector: #selector(self.TimerCounter), 32 userInfo: nil, 33 repeats: true 34 ) 35 } 36 @IBAction func TimeStopButton(_ sender: Any) { 37 if timer != nil{ 38 TotalTime += Date().timeIntervalSince(startTime) 39 timer.invalidate() 40 timer = nil 41 } 42 PrintTime(TotalTime) 43 } 44 45 @IBAction func TimeResetButton(_ sender: Any) { 46 if timer != nil{ 47 48 startTime = Date() 49 TotalTime = 0.0 50 PrintTime(TotalTime) 51 52 timer.invalidate() 53 timer = nil 54 } 55 else{ 56 startTime = Date() 57 TotalTime = 0.0 58 PrintTime(TotalTime) 59 } 60 } 61 62 @objc func PrintTime(_ time: TimeInterval) { 63 let minute = (Int)(fmod((time/60), 60)) 64 let second = (Int)(fmod(time, 60)) 65 let msec = (Int)((time - floor(time))*100) 66 67 M_TimerLabel.text = String(format:"%02d", minute) 68 S_TimerLabel.text = String(format:"%02d", second) 69 MS_TimerLAbel.text = String(format:"%02d", msec) 70 } 71 72 73 @objc func TimerCounter() { 74 let currentTime = TotalTime + Date().timeIntervalSince(startTime) 75 PrintTime(currentTime) 76 } 77 78 override func viewDidLoad() { 79 super.viewDidLoad() 80 let Screensize = UIScreen.main.bounds.size 81 82 let ScreenWidth:CGFloat = Screensize.width 83 let ScreenHeighth:CGFloat = Screensize.height 84 85 86 M_TimerLabel.frame = CGRect(x:ScreenWidth/4.5,y: ScreenHeighth/3.5,width: 63,height: 61) 87 S_TimerLabel.frame = CGRect(x:ScreenWidth/2.4,y: ScreenHeighth/3.5,width: 63,height: 61) 88 MS_TimerLAbel.frame = CGRect(x:ScreenWidth/1.6,y: ScreenHeighth/3.5,width: 63,height: 61) 89 90 Colon.frame = CGRect(x:ScreenWidth/2.6,y: ScreenHeighth/3.55,width: 63,height: 61) 91 period.frame = CGRect(x:ScreenWidth/1.7,y: ScreenHeighth/3.55,width: 63,height: 61) 92 93 Start_button.frame = CGRect(x: ScreenWidth/6,y: ScreenHeighth/2.3,width: 90,height: 90) 94 Stop_button.frame = CGRect(x: ScreenWidth/1.6,y: ScreenHeighth/2.3,width: 90,height: 90) 95 Reset_button.frame = CGRect(x: ScreenWidth/2.6,y: ScreenHeighth/1.6,width: 90,height: 90) 96 97 // Do any additional setup after loading the view. 98 } 99} 100

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

Xcode version 11.1
Swift 5.1
macOS Catalina 10.15.1
iOS 13.1.3

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

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

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

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

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

usagi001

2019/11/06 11:39

実機のOSのバージョンはいくつでしょうか? もしかしたらダークモードに設定しているのが原因とかかもしれません。
PJwnOI

2019/11/06 12:07

実機OSのバージョンを記述しました。 ダークモードを解除したら表示されるようになりました!
guest

回答1

0

自己解決

質問への追記で、ダークモードだとUILabelが表示されない場合があるため、ダークモードの解除

投稿2019/11/06 12:08

PJwnOI

総合スコア39

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.36%

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

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

質問する

関連した質問