問題タブ [zposition]
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.
ios - アダプティブサイズの2つのUIImageと2番目のUIImage
いくつかの制約付きで UIView に UIImage として追加された画像を追加しようとしています。
同じ画面に配置する 2 つの画像があります。1つ目を上に、2つ目を下に、2つ目を1つ目の上に固定したいと思います。
私が言ったように、zPositionでも制約を付けようとしました。根底には常に問題があります。画像も見えません。
これらの画像は、UIPageViewController によって管理される UIView にあります。
これは、スクリーンショットのサイズ変更、切り取り、コメントを行ってアプリケーションのデモを作成することです。ストーリーボード、制約、および結果のスクリーンショットを以下に示します。
制約の定数は両方とも 0 に等しいことに注意してください。結果の下部では、2 番目の画像の一部さえ見えません。それが私の主な問題だと思います。
よろしくお願いいたします。
ios - In SpriteKit, how is zPosition used for rendering and for hit tests?
Edit: Apple fixed this in iOS8, so it was certainly not expected/intended but a bug.
It appears that the zPosition
is interpreted differently when used for rendering a node vs when used for determining which node is touched.
When I create a hierarchy of parent and childnodes (all with zPosition set), the topmost node for rendering is determined by the summation of all zPositions leading to the node, so nodes from different parents can be interleaved.
When determining the topmost node for receiving touches however, zPosition is only used to distinguish between siblings of the same parent, when nodes have a different parent, their parents z-order takes precedence. (all childs of one parent are all underneath or above the nodes of a different parent)
To illustrate, some sample code with results:
When run with zPosition lines commented out, you get the following result:
As expected, first container1 is rendered (with a yellow and red square), and on top container2 is rendered (with blue square), so the red square gets hidden.
When clicking inside the yellow 'border', the output is yellow hit
, clicking inside the blue sqaure prints blue hit
, all as expected.
When the zPosition lines are inserted however, you get the following:
As you can see, the blue square from container2 is interleaved with the two squares of container1, when you click inside the red square however, you get blue hit
!
When determining which node is topmost for touches, everything from container2 is still above container1.
Is this expected behaviour? And if so, is there a common way to deal with this without losing one's sanity?
ios - 列挙型を使用して Sprite Kit の zPosition 値を編成する
列挙型を使用して、スプライトの zPositions を整理してきました。いくつかのサブスプライトを持つ SKNode をゲームに追加し始めたとき、構造はすぐに崩壊し始めました。画面に配置された一部の子スプライトは、子を持つ他のノードの下に配置するために負の値を持たなければなりませんでした。これらの負の値は、別の列挙型の他のスプライトとの関係で追跡するのが困難です。
列挙型を使用するよりも、スプライト (特にサブスプライトを持つスプライト) の zPosition を整理するためのより良い方法はありますか?
ios - スーパービューに zposition がある場合、UIButton がタッチを受信しない
3 つのボタンを持つビューがあります。ビューの zPosition を設定して一番上に置くと、その上に配置されたボタンはタッチを受けません。
ただし、ビューの zPosition をデフォルトのままにするとすぐに、ボタンはタッチを受け取り始めます。私はすべての通常の容疑者bringToFrontなどをチェックしましたが、何も機能していません.
ここで間違っているのは、私の理解に大きなギャップがあることです。
ios - この GIF を正しく表示するにはどうすればよいですか?
GIF を作成しました。基本的には雪の粒子が落ちてきて、背景が透明になっています。したがって、アプリ上の他の PNG や画像の上に雪が流れるだけです。問題は、アプリが読み込まれ、GIF がすべて白く表示されることです。作るときに透明感を出してしまったのでわかりません。Xcode でアルファを下げても、古い PNG (通常の背景画像) は表示されません。
これは私のViewController.mにあります
ios - 親ノードをタップするには?
SO を検索していくつかの例を試しましたが、まだこの動作を理解できません。シミュレーター7.1ではタップスルーが機能しますが、8.1では機能しません。また、以前に同様の質問をしましたが、これと同じではなく、nodesAtPointメソッドを使用して解決し、すべてのノードをループしてノード名/クラスを確認しました..しかし、今は touchesBegan を実装するカスタム Button クラスを使用しており、タッチを検出し、可能であれば「飲み込む」ようにしたいため、これは異なります。
したがって、SKSpriteNode のサブクラスである単純な Button クラスがあり、独自の touchesBegan とuserInteractionEnabled = YES
. 私のビューコントローラーのプロパティignoreSiblingsOrder
では、に設定されていYES
ます。
以下は、記述された動作を生成できる (簡略化された) 例です。
これが 8.1 で機能しない理由がわかりません... ヒット テストがノードのレンダリングとは逆の順序で行われることは知っていますが、タップスルー動作を実現する正しい方法は何でしょうか? 現在、7.1でテストすると「黄色のボタン」というメッセージが表示されましたが、8.1では「タッチが検出されました」というメッセージが表示されました(ノード名を出力すると、ルートと表示されます)。また、このためにレーダーを提出するように指摘されましたが、私が言ったように、nodeAtPointではなくnodesAtPointですべてを解決したので、そうしませんでした。それはバグではなく、私のミスだと思ったからです。なぜなら、7.1 ではすべて問題なかったからです。これはバグですか、それとも何か他のものですか?
swift - AVCapture プレビュー レイヤーをスプライト キットの背景として設定するにはどうすればよいですか?
私は自分に線を引き込もうとしていますSKScene
が、それをうまく描くことができますが、その線を前にしたいのですが、次のAVCapturePreviewLayer
ようなものが得られます:
cameraPreviewLayer の上のすべての行が必要です。
これは私のコードです:
私はこのようなことをしたいので、私のpreviewLayer
後ろに私の後ろSKScene
が欲しいです:
だから私も見ることpreviewLayer
ができ、私の線も見ることができます。
ビューの zPosition を設定しようとしましたが、うまくいきません。
これは私のサンプルプロジェクトです。
ios - tableView セクション ヘッダーの zPosition を変更するにはどうすればよいですか?
セルを返す前にtableView
呼び出す場所があります。viewForHeaderInSection
私はこのコードを持っています:
これは、セルが必要なセクション ヘッダーをスクロールするという意味で機能します。しかし、セルにはフレームの下部に 3 つのボタンがあります。これらのボタンがセクション ヘッダー コンテンツ ビューをスクロールする (またはその下で言うべきである) と、ビューがボタンをブロックし、ボタンをタップできなくなります。それらを参照してください。これは、セルのコンテンツ ビューがヘッダー ビューの上にレンダリングされるためです。
ビュー階層に入ると、ヘッダー コンテンツ ビューがセル ビューの上にあり、ボタン アクションをブロックする原因となります。
誰かが回避策を持っていますか? または、headerCell の Zposition をボタンの後ろに変更する方法を知っていますか? たくさんのことを試しましたが、助けが必要です。