私は、次のエラーメッセージが出ます:2つの異なるビューコントローラに同じビューを追加することはできますか?
ビューしか 一度に最大1つのビューコントローラに関連付けることができます!
2つの異なるビューコントローラに同じビューを追加することはできますか?
Googleマップのインスタンスをタブビューコントローラに追加したいとします。
私はストーリーボードでswift4を使用しています。
私は、次のエラーメッセージが出ます:2つの異なるビューコントローラに同じビューを追加することはできますか?
ビューしか 一度に最大1つのビューコントローラに関連付けることができます!
2つの異なるビューコントローラに同じビューを追加することはできますか?
Googleマップのインスタンスをタブビューコントローラに追加したいとします。
私はストーリーボードでswift4を使用しています。
をカスタムクラスの新しいインスタンスを追加することです。 Google Maps SDKのGMSMapViewを使用しているため、複数のタブにまたがって同じインスタンスを使用したい場合は、アプローチが異なります。
あなたがいずれかを実行できます。
addSubview()
を使用してください。基本的に新しいタブでaddSubview()
を使用して古いタブから削除し、新しいタブに追加します。ありがとうございました!あなたの2番目の提案はまさに私がやりたいことです。 'addSubview()'を実行すると 'GMSMapView'は前のタブから切り離されますか? –
それはそれの美しさです、Cocoaは複数の場所で同じ 'UIView'を持つことをサポートしていないので、' addSubview() 'はそれを前の場所から自動的に削除し、新しい場所に追加します。 私はYouTube Video Viewに類似したものを使用しました。私のために働いた。 – NSAdi
UIView
は、1つの親ビューのみを持つことができ、superView
プロパティとして設定されているため、他の1つのビューと関連付けることができます。また、レイアウトのようなものはこのビューに設定され、それはスーパービューに関連しているので、複数のコントローラで同じビューを使用することは意味がありません。 最善の解決策は、UIView
をサブクラス化し、それを模したならば、あなたはXIBを作成し、各ビューに新しいインスタンスを追加する必要があり、すべてのViewControllerに
共通ビューのxibファイルを作成し、必要な数のコントローラに追加することができます。 – PGDev
私はストーリーボードでswift4を使用しています。コントローラを追加するたびに、私はビューの新しいインスタンスも取得します。 –
もちろん。ビューの新しいインスタンスは、コントローラに追加するたびに作成されます。あなたは何をしたいのですか?私は理解しません。あなたの要件を明確に述べてください。 – PGDev