前提・実現したいこと
view1.swiftのコードから
ViewController.swiftのviewにaddSubview()を行おうとしています。
ViewController.swiftのコードでaddSubview()を行う場合は、
self.view.addSubView()と入力すれば追加されることは理解しているのですが、
view1.swiftのコードでaddSubview()を行う場合、
self.view.addSubview()のself.viewの部分をどう変えればよろしいでしょうか?
初歩的な質問かつ、分かりにくい質問で申し訳ないのですが
自分ではうまく検索することができず、ご教示いただけると幸いです。
試したこと
1つ目
swift
1view1.swift内 2 3 @IBAction func AddButtonTap(_ sender: Any) { 4 view2 = UIView() 5 view2.frame = CGRect(x: 0, y: 0, width: 100, height: 100) 6 self.view.addSubview(view2) 7 }
上記コードのself.view.addSubview(view2)のself.view.~を変更していきました。
1.ViewController().view.addSubview(view2)
→ アプリは問題なく起動するが、viewが追加され無い。
2.self.addSubview(view2)
→ ViewControllerではなく、View1に追加されてしまう。
別ファイルというのが別画面のことなら、そもそもその別画面はまだ存在しない可能性があります。画面とは別にデータを持っておいて、各画面で必要なデータにアクセスして表示する、という設計を行う必要があると思います。また、View と ViewController を区別して、ViewController はいつでも好きに作れるものではないということも理解する必要があります。
ご回答ありがとうございます!
理解がおくれ返信が遅くなってしまい申し訳ありません。
>>画面とは別にデータを持っておいて、各画面で必要なデータにアクセスして表示する
というお話から、別の方法で対処いたしました。
理解していない根本の部分を指摘していただきありがとうございます!
回答2件
あなたの回答
tips
プレビュー