Closed yasyun closed 3 years ago
isHiddenだとviewから存在が消えてるわけではないので、ボタンアクションの修正不要箇所のaddsubview
が実行されるたびに
別のcustomviewを貼り付けようとしてしまいます。
なので今回はremoveFromSuoerViewを使ってみてください
僕はremoveFromSuperViewで実装しましたが、isHiddenでもできることを確認しました。
伝わってなかったら申し訳ないのですが、 モバイルコースのリポジトリにViewController→CustomViewに遷移させる仕組みは用意してあるので 形式をこちらに移行してもらえると嬉しいです。 https://github.com/shinonome-inc/mobile_ios_course/tree/master/kadai07
僕はremoveFromSuperViewで実装しましたが、isHiddenでもできることを確認しました。
伝わってなかったら申し訳ないのですが、 モバイルコースのリポジトリにViewController→CustomViewに遷移させる仕組みは用意してあるので 形式をこちらに移行してもらえると嬉しいです。 https://github.com/shinonome-inc/mobile_ios_course/tree/master/kadai07
本当だisHiddenでもできたわ。
isHiddenだとviewから存在が消えてるわけではないので、ボタンアクションの修正不要箇所の
addsubview
が実行されるたびに 別のcustomviewを貼り付けようとしてしまいます。 なので今回はremoveFromSuoerViewを使ってみてください
起きている問題 表示したCustomView上の「CustomViewを閉じる」ボタンを押すと、customViewを隠す「customView.isHidden = true」でエラーが発生する。
エラー内容 @IBOutlet var customView: CustomView!のように紐づけしたはずのcustomViewの中身が、nilになっていてアンラップできない
再現手順 1.Storybord上にVIewパーツでCustomViewを配置し表示させる 2.「CustomViewを閉じる」ボタンを押す 3.「Fatal error: Unexpectedly found nil while implicitly unwrapping an Optional value: file /Users/yasyun/mobile_sakai/Delegate_App/Delegate_App/ViewController.swift, line 23」 というエラーが表示される
考えている正しい動作 ボタンを押すとisHiddenでCustomViewが隠される。 制約がついている関係でisHiddenできないのではと思い、制約を紐づけして0にするコードも記述したが、そちらでも同じエラーが出てしまった。