前提・実現したいこと
xcodeを使って初オリジナルアプリを作成しています。
たまにstoryboardのviewcontrollerが真っ黒になるエラーを解消したいです。
コードとの紐付けも問題ないかと思いますが原因がわかりません。
またビルドは問題なく行えますがエラーが消えません。
発生している問題・エラーメッセージ
failed to render update auto layout status for~
swift
1// 2// ViewController.swift 3// FSCalendarTestApp 4// 5// Created by 井本大貴 on 2020/05/03. 6// Copyright © 2020 OIMO. All rights reserved. 7// 8 9import UIKit 10import FSCalendar 11import RealmSwift 12 13 14class MainViewController: UIViewController,FSCalendarDelegate,FSCalendarDataSource,FSCalendarDelegateAppearance { 15 16 17 @IBOutlet weak var calendar: FSCalendar! 18 @IBOutlet weak var piechartImageResultView: UIImageView! 19 @IBOutlet weak var firstText: UILabel! 20 21 var year = 0 22 var month = 0 23 var day = 0 24 var piechartImage:UIImage? = nil 25 26 override func viewDidLoad() { 27 super.viewDidLoad() 28 self.calendar.dataSource = self 29 self.calendar.delegate = self 30 31 } 32 33 override func viewWillAppear(_ animated: Bool) { 34 super.viewWillAppear(animated) 35 print("viewWillAppear") 36 DispatchQueue(label: "background").async { 37 let realm = try! Realm() 38 39 if let savedPiechartData = realm.objects(PiechartResultData.self).filter("date == '(self.year).(self.month).(self.day)'").last { 40 41 let piechartImagePNG = savedPiechartData.piechartImagePass 42 43 44 self.piechartImage = piechartImagePNG?.toImage() 45 DispatchQueue.main.async { 46 47 self.piechartImageResultView.image = self.piechartImage 48 self.firstText.text = "" 49 50 } 51 } 52 } 53 } 54 55 56 57 // カレンダーの日付がタップされた時の処理 58 func calendar(_ calendar: FSCalendar, didSelect date: Date, at monthPosition: FSCalendarMonthPosition){ 59 60 let tmpDate = Calendar(identifier: .gregorian) 61 year = tmpDate.component(.year, from: date) 62 month = tmpDate.component(.month, from: date) 63 day = tmpDate.component(.day, from: date) 64 65 66 DispatchQueue(label: "background").async { 67 let realm = try! Realm() 68 69 if let savedPiechartData = realm.objects(PiechartResultData.self).filter("date == '(self.year).(self.month).(self.day)'").last { 70 71 let piechartImagePNG = savedPiechartData.piechartImagePass 72 73 74 self.piechartImage = piechartImagePNG?.toImage() 75 DispatchQueue.main.async { 76 self.piechartImageResultView.image = self.piechartImage 77 self.firstText.text = "" 78 } 79 } else { 80 DispatchQueue.main.async { 81 self.firstText.text = "グラフを作成して下さい" 82 self.piechartImageResultView.image = nil 83 } 84 85 } 86 } 87 88 89 } 90 91 92 93 94 95 96 override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 97 98 if segue.identifier == "toAddPiechart" { 99 100 let nextView = segue.destination as! AddPiechartViewController 101 102 nextView.dateResult = ("(year).(month).(day)") 103 } 104 } 105} 106 107
試したこと
クリーンしてからビルドをやり直しましたが効果ありませんでした。
補足情報(FW/ツールのバージョンなど)
「failed to render update auto layout status for」については下記の対策は取られてみたでしょうか。
https://www.google.com/search?channel=trow2&client=firefox-b-d&q=failed+to+render+update+auto+layout+status+for
ViewControllerが黒くなる原因はまた別のところにありそうに思えます。
再現するようなコードをご提示いただくことは可能でしょうか。
ありがとうございます。
cocoapodsが原因の様ですがアップデートしたり色々試してもなかなか消えません・・・
問題のCotrollerViewのコードを更新いたしました。
よろしくお願いいたします。
https://github.com/WenchaoD/FSCalendar/issues/1130
上記の Issue を見てふと思ったのですが、StoryBoard が黒くなる、というのは、もしかしてダークモードが有効になっているということはありませんでしょうか。
ご質問のスクリーンショットでいえば、iPhone11 と書かれているところをクリックすると端末一覧が出てきますが、その中の Interface Style の右側(網掛け)が選択されていればダークモードのシミュレーション状態になります。左側を選べば元に戻るはずです。
failed to render update auto layout status for〜のご質問は前回の続きかと思いますが、私の環境だと発生しませんでした(ちなみに、cocoapods version 1.9.1 / Xcode 11.4.1 です)。
ダークモードは選択されていませんでした・・・
xcode落としてmac再起動で一時的に消えましたがまた出てきました。
とりあえずこのまま開発進めてみようと思います。
ありがとうございました!
Storyboard が黒くなる、という現象は他にも見られるようですが、その一方根本的な解決方法はなかなか見当たらないようです。
https://www.google.com/search?q=black+xcode+Storyboard&client=firefox-b-d&channel=trow2&sxsrf=ALeKk03lOUqfi-ARrtcujvI_67NukvgSaQ:1589629897449&tbm=isch&source=iu&ictx=1&fir=VW4toB6ifBUbeM%253A%252C1uJlHxSvNaaT9M%252C_&vet=1&usg=AI4_-kQLp2YjeOzTIDhPilZ3fTNjOpD1Tw&sa=X&ved=2ahUKEwjEhPLqqLjpAhXKE4gKHRYGCqkQ9QEwA3oECA4QFg#imgrc=03cDb_VSpRGBWM
直接関係のない話ではあるのですが、私のmacもアップデートしていないにもかかわらず、スクリーンショットを撮ると画面が暗くなる現象に見舞われています。
気持ち良い話ではないですが、しばらく様子をみるしかないのかもしれません。
@IBDesignable が悪さをしているようであれば FSCalendar.h の IB_DESIGNABLE (2 箇所あります) をコメントアウトしてプロジェクトを開き直すとか…。(Storyboard の裏で @IBDesignable なビューのコードをビルドしてくれるわけですが、メモリが足りないとこけるんじゃないかと。推測ですが。)
mac再起動後xcode立ち上げてからクリーンビルドしたら消えました・・・
色々コメントありがとうございます。
再度出てきたら試してみます!!
あなたの回答
tips
プレビュー