問題タブ [uicontainerview]
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 - UIContainerViewに埋め込まれたUICollectionViewController - 親にデータを渡す方法は?
私のセットアップは次のようになります。
そのUIViewController
上に、1つを含むさまざまな要素がありUIContainerView
ます。このコンテナにはUICollectionView
9UICollectionViewCell
が埋め込まれています。これらのすべてのセルには 1 つのセルがありUILabel
ます。セルはすべて選択可能です。私が基本的に行ったことは、複数選択要素を作成することです。私の質問は、選択したセル (選択したすべての要素の文字列を含む NSArray として最適) を親に渡す方法UIViewController
です。
私がこれまでに行ったことはIBOutlet
、上部のコンテナへの を作成することUIViewController
です:
次のように、選択したセルの配列にアクセスできるようにしたいと思います。
どうすればそれを行うのが最善ですか?
ios - 静的 UITableView を動的 TableView に変換する方法
ViewController の周りに他のビューを配置する必要があるため、静的な TableView を動的な TableView にする必要があります。これは、私の場合はコンテナーを使用して行うことができません。
問題は、テーブル ビューを静的から動的に効率的に変換するにはどうすればよいかということです。
継承を UITableView から UIViewController に変更し、さらにデリゲート メソッドを追加する必要があることを認識しています。
しかし、すべてのテーブル セクションについてはどうでしょうか。静的テーブルに 6 種類のセルを含む 3 つのセクションがあります。これらすべてのセルタイプの UITableViewCell をサブクラス化し、すべてを手動で処理する必要がありますか、それとももっと賢い方法がありますか?
ios - コンテナ ビューに添付された Tap Gesture Recognizer は、コンテナ ビューのボタンのタッチ イベントをブロックしませんが、ツールバー ボタンのタッチ イベントをブロックします。
だから私はコンテナビューを持つView Controllerを持っています。コンテナー ビューには、ビュー コントローラーの親コントローラーでもあるナビゲーション コントローラーが組み込まれています。ストーリーボードは次のようになります。
ビュー コントローラ( mainViewController
) --> ナビゲーション コントローラ --> ビュー コントローラ( contentViewController
)
以下にストーリーボードのスクリーンショットを示します。
最初の矢印は、コンテナー ビューからナビゲーション コントローラーへの埋め込みセグエです。contentViewController
2 番目の矢印は、ナビゲーション コントローラーのルート ビュー コントローラーを表す関係です。
mainViewController
とcontentViewController
は、 という名前の同じクラスのオブジェクトですtestViewController
。UIViewController のサブクラスです。その実装は簡単です。IBAction
メソッドは 3 つだけで、他には何もありません。実装コードは次のとおりです。
のコンテナ ビューに Tap Gesture Recognizer を追加しましたmainViewController
。コンテナビューがタップされたときにviewTapped:(id)sender
メッセージを送信します。mainViewController
のルートビューの中に、タップすると にメッセージをcontentViewController
送るボタンがあります。また、ツールバーにはバーボタンがあり、タップするとメッセージが送信されます。最初のシーンは. アプリの実行中、バー ボタンのタッチ イベントのみがブロックされ、タッチ イベントはボタンによって正しく処理されることがわかりました。Apple のドキュメントRegulating the Delivery of Touches to Viewsには、次のように書かれています。buttonTapped:(id)sender
contentViewController
contentViewController
barButtonTapped:(id)sender
contentViewController
mainViewController
単純なケースでは、タッチが発生すると、タッチ オブジェクトが UIApplication オブジェクトから UIWindow オブジェクトに渡されます。次に、ウィンドウは、ビュー オブジェクト自体にタッチを渡す前に、まず、タッチが発生したビュー (またはそのビューのスーパービュー) にアタッチされたジェスチャ レコグナイザーにタッチを送信します。
タッチイベントはボタンに渡されないと思いました。これは本当に私を混乱させました。誰かがこの動作を説明できますか? どうもありがとうございました。
ストーリーボードのスクリーンショット:
ios - iOS での UIViewController の切り替えが機能しない
他の使用機能UIViewController
の上に表示しようとしています。childViewController は、MainViewController の上に表示される tableView ですが、それが持っているテーブル ビューは表示されません。childViewController を個別に実行すると、tableView は正常に動作します。だから私はここで何が欠けています。UIViewcontroller
addChildViewController
childVC を追加する方法は次のとおりです。
そして、これが表示したい childVC です: .h
そしてM
ios - 親からのイベント (ボタン クリック) で ContainerView の 3 つの子ビュー コントローラーすべてからデータを取得します。
3 つの異なるタブのいずれかのクリックに基づいてビューを変更する containerView を持つアプリがあります。各タブには、異なる契約データが含まれています。
これらのタブからすべてのデータを取得する時が来ましたが、最善の方法はわかりません。委任は 1:1 であるため、各タブが読み込まれたかどうかわからないため、うまくいかないと思います。それぞれがオブザーバーとして登録する必要があるため、NotificationCenter についても同じことが言えます。
それぞれを反復処理して「ビュー」というメッセージを渡すことを検討しました。これにより、それぞれがロードされたことを確認し、通知を開始するか、各ビュー内でメソッドを呼び出して必要なデータを取得し、終了します値の大きな辞書を 1 つ作成します。私の可能な解決策に関する他のアイデアやコメントはありますか?
詳細が必要な場合はお知らせください。これは最初から貧弱な設計でしたが、この会社で始める前にクライアントが設計を承認していたため、このように実装する必要があり、承認に数週間かかりました.