問題タブ [view-hierarchy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
667 参照

android - Android のビュー階層が深すぎるための StackOverflowError

Play ストアでは、次のようなクラッシュ レポートを取得しています。

テスト デバイスの 1 つでこのような例外が発生し、それはビュー階層の最大深度が原因であることが判明しました。最大深度の推奨値が 10 未満であることはわかっています。ただし、かなり複雑なアプリを使用している場合、この値は非常に野心的です。Main-Activity と Fragments で AppCompat v21 と ViewPager を使用します。

このため、1人の子供を単純にカプセル化する「無意味な」ビューがたくさんあると思います。または、次のレイアウトの目的は何ですか:

-NoSaveStateFrameLayout

-NativeActionModeAwareLayout

-FitWindowsFrameLayout

全体として、PhoneWindowDecorView を含めて合計 23 の深さに到達します。ビューツリーは次のようになります。

階層ビューの写真

RootView からの最初のビュー:

階層ビューの写真

それにもかかわらず、私たちのアプリは非常に古く貧弱な Android 2.3 デバイスでも動作します。現実の世界で問題が依然として発生するのはなぜですか。

0 投票する
1 に答える
160 参照

ios - カーテン表示ビュー

次の挑戦的な効果を達成しようとしています。赤いボックスを表示するために、白い「カーテン」を下に移動したいと考えています。(注: 下のスクリーンショットでは、カーテンはで、背景は灰色です)

問題はビュー階層にあります。

箱を最初の位置に隠すにはカーテンの後ろに配置する必要がありますが、最終的な位置に表示するにはカーテンの上に配置する必要があります。

どうすれば「ごまかす」ことができ、スムーズなアニメーションでカーテンが実際にボックスを明らかにしているように見せることができますか?

**前** **後**

ありがとう!

0 投票する
1 に答える
184 参照

ios - iOS デバイスが接続されているときに「Debug View Hierarchy」を調べるにはどうすればよいですか?

「Debug View Hierarchy」は 32 ビットの Mac アプリ プロジェクトで機能し、すべてのタイプの iOS シミュレーターをサポートしているわけではないことを私は知っています。しかし、一部の iOS シミュレーターでは使用できます。

今、私は使用してAVCaptureVideoPreviewLayerいます。明らかに、iOS シミュレーターではアクティブではありません。

私の質問は、iOS デバイスで検査する方法はありますか? アドバイスをお願いできますか?

0 投票する
0 に答える
186 参照

android - Android Fragments: restore programmatically added views

I have two fragments: fragmentA and fragmentB

In fragmentA, some views have been programmatically added

If from fragmentA I go to fragmentB and then I come back to fragmentA, all the programmatically added views are not there anymore

Which is the way to restore the programmatically added views inside the view hierarchy?

0 投票する
0 に答える
45 参照

android - Android で移動およびサイズ変更できるビュー

私は、ユーザーが ImageView を動的に存在させ、好きな場所に移動し、サイズを変更し、そのビューのレイヤー スタッキングをいじることができるアプリを作成しています。

レイヤースタッキングの実装方法については、大まかなアイデアがありますが、チュートリアルは引き続き歓迎します。

私が空白を描いているのは、サイズ変更可能な ImageView であり、そのためのチュートリアルまたはそのようなことを提供する github プロジェクトを見つけようとしてもうまくいきませんでした。

私は 100% アンドロイド プログラミングが初めてというわけではありませんが、いくつかのより高度な概念がまだ頭上を飛び越えているため、見つけた「閉じるが葉巻はありません」クラスのカップルを適切にリバース エンジニアリングすることはできません。

私が探しているものを視覚的に解釈するために、これが WayCooler です。

ウェイクーラー

必要なものを見つけるために適切な検索語を使用できていないだけだと確信していますが、誰かが私を正しい方向に向けることができれば、本当に感謝しています.

0 投票する
1 に答える
816 参照

ios - 自動レイアウトの制約をプログラムで設定する

これを修正する方法がわかりません: カードのサイズがデバイスによって異なる対戦ゲームを作成したいと考えています。

rootView の上部と下部に 20 のマージンで固定し、その中央に配置する contentView を作成すると思いました。次に、縦横比を 3/4 (3 行 4 列) にします。

それは完璧に機能します。(うわー!) 次に、contentView の幅の 4 分の 1 と高さの 3 分の 1 を持つカードを作成します。

そこでコードが壊れ、次のメッセージが表示されます。

ビュー階層は制約に対して準備されていません: NSLayoutConstraint:0x78f1b290 Meeres_Memo_temp_caseinsensitive_renamery.Card:0x78f41820.height == UIView:0x78f49fc0.height ビューに追加される場合、制約の項目はそのビュー (またはビュー自体) の子孫でなければなりません。ビュー階層が組み立てられる前に制約を解決する必要がある場合、これはクラッシュします。

私がしたいことをすることさえ可能ですか?

アップデート:

エラーが見つかりました。heightConstraint と widthConstraint を thisCard に追加しましたが、ビュー階層の上位にある関連ビュー (この場合は contentView) に次のように追加する必要があります。

0 投票する
1 に答える
50 参照

ios - tableView の上に navBar を配置するのではなく、ナビゲーション バーと tableView を別々に保つにはどうすればよいですか

navBar がテーブル ビューの上に置かれるのではなく、テーブル ビューから分離されるようにしたいので、各 tableView セルは同じ比率で表示されます。そのままでは、変更できないようです。手動でプログラムを追加して、ビュー階層で変更しようとしましたが、できません。これには簡単な解決策があると思いますが、それが何であるかわかりませんか?以下は私のコードです。