接続されたグラフのノードを表示するアプリがあります。ユーザーがノードに触れると、対象のノードを含むサイズのノードの背後にあるclearColor「接続」ビューを表示して、隣接するノードへのパスを強調表示します。このビューには、各パスの子ビューが含まれ、これらの各パスビューには、ソースノードと各隣接ノードの背後に表示される単一の線を描画するdrawRectメソッドがあります。すべてが順調であり、このアプローチは、将来のパスで興味深いことを行う可能性を開きます。
ただし、最近、メインディスプレイがスクロールビュー内のズームインビューになり、外部ディスプレイにすべてのノードのグローバルビューが表示されるという考えで、外部ディスプレイを検出するコードを追加しました。外部ディスプレイに接続ビューを追加して、メインディスプレイでタッチして選択したものを表示するまでは、正常に機能しました。私のパスビュー(およびそれらの親ビューと祖父母ビュー)は、私が知る限り同一であり、setNeedsDisplayが呼び出された後、メインビューのいとこと同様にdrawRectメソッドが呼び出されることはありません。それらは両方とも同じ場所で同じ方法で初期化されます。
私は問題を切り分けるために何十(何百?)のことを試みましたが、問題を理解していません。汎用UIViewを接続ビューに追加すると、両方の場所に表示されますが、drawRectを追加してUIViewを拡張するパスビューは、メインディスプレイでのみ呼び出され、外部ディスプレイでは呼び出されません。
アイデアが足りなくなった。問題の原因が何であるかについて誰かが何か考えを持っていますか?