問題タブ [uiview-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.
objective-c - サブビューからココア、UIResponderのスーパービューにメッセージを送信しますか?
タッチセンシティブなこれらすべてのサブビューがあります。サブビューからスーパービューにメッセージを送信して、ユーザーがそれを選択したことを伝えたいので、スーパービューはコントローラーの残りの部分と通信できます。
サブビューとコントローラー、サブビュー >> スーパービュー >> コントローラーの間で通信できません
おそらくこれを達成するためにUIResponderを使用しますか?
ios - iOSのuiviewcontrollerですべてのサブビューを一覧表示するには?
内のすべてのサブビューを一覧表示したいUIViewController
。を試しself.view.subviews
ましたが、すべてのサブビューがリストされているわけではありません。たとえば、 のサブビューがUITableViewCell
見つかりません。何か案が?
iphone - 子供と一緒にUIViewのTouchUpInside
ここで何かが足りないかもしれませんが...
私にはUIView
数人の子供がいます(数人UILabel
のとUIImageView
)。ユーザーが親内の任意の場所(またはその子のUIView
一部)をクリック(タップ)したときにイベントをキャッチする必要があります。UIView
これを行うための最良の方法は何ですか?
ios - ドキュメントを開くときのビュー階層の管理
特定の種類のドキュメントを開くことができる IOS アプリがあります。
私のアプリは、次の方法でドキュメントを受け取ります。
まだ開始されていないとき、または終了したとき
アプリがすでに起動されているとき。
アプリが既に開始されている場合、ユーザーは既にアプリで多くのビューを開いている可能性があります。次に、アプリがドキュメントを開くようにトリガーされた場合、どのようにして正しいビューを開いて移動できますか (古い階層を閉じて、新しい階層を開いてドキュメントを表示します)。
私は使用しようとしました:
fromViewController = rootViewController (UIApplication & UIWindow を使用して取得) と toViewController: ViewController を使用して、ドキュメントを表示する必要がありますが、成功しません。
このトピックを進める方法はありますか? ありがとう、
セバスチャン。
objective-c - How to Insert View in Superview's View? (iOS)
I have the line of code below... How would I modify it to insert the subview in the superview's view named 'foo'?
objective-c - スーパービューのビューにビューを挿入するにはどうすればよいですか?(iOS)
重複の可能性:
Superviewのビューにビューを挿入する方法は?(iOS)
以下のコード行があります...スーパービューにある「myView」という名前のUIViewにサブビュー「mySubview」を挿入するように変更するにはどうすればよいですか?
ios - 複数のビュー コントローラに共通のサブビューが応答しない
ユーザーにビジー/処理の手がかりを表示するために を使用してUIView
いますが、読み込みビューのコンポーネントがユーザーのタッチに反応しません。私の問題を詳しく説明しましょう。約 3UIViewController
秒あり、状況に応じて 1 つView
がVieControllers
表示されます。次のコードを使用して現在のビューを変更します
次に、一般的にビジー/処理中の UI をユーザーに表示するために使用される Loading ビューがあります。nibファイルから次の方法でLoadingビューを作成しました
アプリ デリゲートで、読み込み中のビューを初期化し、メイン ウィンドウに追加します。
ローディング/ビジービューを表示する必要があるときはいつでも、このようにロードするだけです
すべて正常に動作しますが、読み込みビューのコンポーネントがタッチに反応しません。何がうまくいかないのですか?
問題はスレッドの問題によるものであることに気付きました。ユーザーがファイルのダウンロードを開始すると、このサブビューが表示されます。私の以前のコードは、ダウンロードを直接開始することでした
以下のように、バックグラウンドスレッドを使用して別のメソッドからこのメソッドを呼び出しています
そして、次のようにダウンロードにrunloopを追加しています
これは正常に機能し、私のサブビューは応答性があります。本当に時間がかかりました。問題は、バックグラウンド スレッドでダウンロードを実行し、同時に UI をレスポンシブにするのに役立つ明確なコード例があることです。
objective-c - hitTest:withEvent:を使用して、スーパービューのフレーム外のサブビューのタッチをキャプチャします。
私の問題:EditView
基本的にアプリケーションフレーム全体を占めるスーパービューとMenuView
、下部の約20%のみを占めるサブビューがあり、実際には範囲外にあるMenuView
独自のサブビューが含まれています(次のようなものです)。ButtonView
MenuView
ButtonView.frame.origin.y = -100
(注:のビュー階層のEditView
一部ではないが、回答に影響を与える可能性のある他のサブビューがあります。)MenuView
あなたはおそらくすでに問題を知っているでしょう:ButtonView
がの範囲内にあるときMenuView
(または、より具体的には、私のタッチがMenuView
の範囲内にあるとき)、ButtonView
タッチイベントに応答します。タッチがMenuView
の範囲外にある場合(ただし、まだ範囲内にあるButtonView
場合)、タッチイベントは。によって受信されませんButtonView
。
例:
- (E)は
EditView
、すべてのビューの親です - (M)は
MenuView
、EditViewのサブビューです - (B)は
ButtonView
、MenuViewのサブビューです
図:
(B)は(M)のフレームの外側にあるため、(B)領域のタップは(M)に送信されません。実際、この場合、(M)はタッチを分析せず、タッチはに送信されます。階層内の次のオブジェクト。
目標:オーバーライドhitTest:withEvent:
することでこの問題を解決できると思いますが、その方法は正確にはわかりません。私の場合、(私の「マスター」スーパービュー)hitTest:withEvent:
でオーバーライドする必要がありますか?または、タッチを受信していないボタンの直接のスーパービューでEditView
オーバーライドする必要がありますか?MenuView
それとも私はこれについて間違って考えていますか?
これに長い説明が必要な場合は、優れたオンラインリソースが役立ちます。ただし、AppleのUIViewドキュメントは、私にはわかりません。
ありがとう!
objective-c - UIView clipToBoundsは、親ビューの外部でタッチを受信するsubViewを停止していません
2つのUIViewがあります。片方をもう片方の中にスライドできるように、もう片方を封じ込めるために使用しています。subViewが親の境界にクリップされていても、タッチイベントを受信し、他の基になるビューへのアクセスをブロックしているという問題が発生しています。
レイアウトを示す3つのスクリーンショットがあります。親を緑、子を赤に着色しました。
ユーザーが[表示]をクリックすると、サブビューが上にスライドするという考え方です。サブビューがデフォルトの位置にある場合、UITabBarはカバーされており、クリックできません。これは、下部に赤いビューが表示されている最初の画像で確認できます。サブビューを一番上に移動すると、UITabBarが表示されているのでクリックできます。3番目の画像では、緑色のUIViewでclipToBoundsを有効にした場合の様子を示しています。
clipToBoundsを有効にしたので、subViewが基になるUITabBarをブロックしている理由がわかりません。私のclipToBoundsの理解は完全に間違っていますか?
ios5 - UIViewContentModeモードが参照するコンテンツのタイプは何ですか?
contentMode
プロパティに関するUIViewの公式ドキュメントによると:
この定義の内容は何によって定義されていますか? それはサブビューですか、それともビューの背景色を定義した場合などです。
UIViewContentModeCenter
私の最初の推測では、少なくともビュー内のサブビューに適用する必要がありますが、たとえば、次のコード スニペットでは、タグを操作したときに期待した結果が得られません 。
greenView を含む redView をセットアップしました。また、redview のコンテンツ モードを次のように設定しましたUIViewContentModeCenter
。親のフレームを変更したときに、書いたコードで greenView が中央に配置されないのはなぜですか? すべきことではないUIViewContentModeCenter
か。
明確にしてくれてありがとう!
Ps:上記のコードはloadView
、単純なビュー コントローラー テンプレート プロジェクトで簡単にテストできます。