問題タブ [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.

0 投票する
2 に答える
2041 参照

ios - コンテナー ビューの UINavigationController: テーブル ビュー セルでセグエをプッシュしても何も起こらない

UITableViewController であるルート ビューを持つナビゲーション コントローラー (UINavigationController) を埋め込むコンテナー ビューがあります。プロトタイプ セルの 1 つに、選択時に別の UITableViewController へのプッシュ セグエがあります。これはすべて XCode 5 のストーリーボード経由です。実際のコードはありません。

残念ながら、セルが選択されても何も起こりません。

私は何が欠けていますか?

ありがとう

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

ios - UIContainerView 呼び出しの親メソッド

私は非常に新しい iOS 開発者であり、あなたの助けが必要です。

私は以下から作られたシンプルなアプリを持っています:

含む1つのView Controller

  • 3 UIContainerView、それぞれが独自のView Controllerとクラスにリンクされています
  • ビュー (プレイヤー)

これが私のストーリーボードの画像なので、理解しやすくなります: ここに画像の説明を入力 => 画像を画像として投稿するには 10 人の担当者が必要です

私が欲しいのは、「View Controller Search」内のセルの再生ボタンをクリックすると、再生するファイルのURLを含む親(メイン?)View Controllerからメソッドまたは関数が呼び出されることです。

私はすでに再生ボタンで動作するアクションを持っています。そこからURLを取得し、NSLogを使用して印刷する方法を見つけたので、この部分からはすべて問題ありません。私の唯一の問題は、URL を送信してメイン ビューと通信する方法を見つけることです。

お時間をいただきありがとうございます。

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

ios - iOS コンテナ ViewController のデータ フロー

私の目的は、マップとテーブルビューという 2 つの異なる方法でディーラーの場所を表示することです。

DealersMapViewController と DealersListViewController の 2 つの子ビュー コントローラーを含むコンテナー ビュー コントローラー (DealersViewController) があります。ユーザーは、ナビゲーション バーに配置された UISegmentedControl を使用して VC を切り替えることができます。マップ アノテーションまたはテーブルビュー セルをタップすると、DealersDetailViewController がプッシュされます。

切り替えは既に実装されており ( Changing view controller when Segmented Control changesのコードを使用)、詳細のプッシュと同様に正常に動作しているようです。

改善したいのは、コンテナと子の間のデータの流れです。ディーラーの場所はインターネットから親でダウンロード (JSON) され、完了すると NSArray *locations プロパティがマップ VC とリスト VC の両方に設定されます。この配列には、AFNetworking によって自動的に作成されたディクショナリ オブジェクトが含まれ、それぞれにロケーション データが含まれます (各ロケーション ディクショナリには、MKAnnotation プロトコルに準拠するタイトル、サブタイトル、緯度、経度だけでなく、画像や説明などの他のものも含まれます)。

私の質問は、コンテナー VC と両方の子 VC が位置データの構造について「同意」していることを確認するにはどうすればよいですか? 理論的には、誰かが別の子ビュー コントローラーを開発してコンテナーに追加し、たとえばコレクション ビューでディーラーの場所を表示したい場合、どのようにしてデータを期待するかを正式に知ることができます。Apple は次のように述べています。子に location プロパティを宣言させることはできますが、配列には何でも含めることができます…

親が子のデータソースになる可能性はありますか? 私はまだこのアプローチを試していません。

私はおそらく物事を複雑にしすぎていますが、私の目的は、再利用可能なコンポーネントを適切に作成する方法を学び、カスタム プロトコル/デリゲートやデザイン パターン全般などを使用して練習することでもあります。

ありがとう。

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

objective-c - UIContainerView に埋め込まれた UITableView セルの再利用

UIContainerView 内に埋め込まれた、スクロールが有効になっている UITableViewController があります。テーブルビュー内には、内部に UIImageView を持つカスタム UITableViewCell があり、テーブルビュー内の複数のセルの 1 つを選択すると、インデックス パスを取得し、選択したセルのイメージ ビューに目盛りを表示するように設定します。テーブル ビューには、配列からの複数のデータが動的に取り込まれます。単純。

問題は、テーブルビューがコンテナー ビュー内で表示できるよりも長いため、インデックス パスが表示されているコンテンツにのみ適用されているように見えることです。対応するインデックスパスを持つセルを目盛り付きの可視セルに設定していることを意味します。

5 つのセルが表示されているとします。4 番目のセルが選択されています。さらに 5 つのセルを下に移動すると、10 番目のセルにチェックが適用されますが、技術的には非表示コンテンツの 5 番目のセルです。セルの再利用と関係があると思いますが、どうすればよいかわかりません。

これを修正するにはどうすればよいですか?(コードは以下の通り)

0 投票する
2 に答える
2777 参照

ios - コンテナ テーブル ビューの角を丸くするにはどうすればよいですか?

メインビューコントローラーがあります。テーブルビューコントローラー(コンテナー内)が含まれています。テーブルビューを丸めたいので、Facebookのログインと同じように表示されます。

viewDidLoad の子View Controller(これはtableview controllerです)で使用したコード:

結果 :

ご覧のとおり、フィールドを選択すると、角が丸くなっているように見えますが、空白は残ります。選択されていなくても丸くするにはどうすればよいですか?

使用: XCODE 5、IOS 7

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

ios - 制約が適用されると、フリーフォームのコンテナー ビューのサイズが変更されない

私は現在、プロジェクトにコンテナー ビュー (721*1024) を使用しています。端から端まで行き、高さ 44 のイメージ ビューがあります。このイメージ ビューに制約を適用すると、通常の iPad ビューでサイズが正しく変更されます。つまり、768*1024 ですが、フリー フォーム コンテナー ビューを使用して同じ制約を適用すると、サイズが変更されません。私は何を間違っていますか?ありがとう。

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

ios - コンテナー ビューで自動レイアウトが機能しない理由

現在、アプリケーションでコンテナー ビューを使用していますが、ビューの自動サイズ変更に関して奇妙な問題が発生しています。これは、私が構築しているデモ アプリケーションのスナップショットです。

下の画像は、通常の iphone ビュー サイズの通常のビューに対して私が行っていることを示しています。

このビューは、追加した制約に従って正しくサイズ変更されます。

ここに画像の説明を入力

ここでは、サイズが 150*280 のコンテナー ビューを使用し、上記と同じ制約を使用しています。

ここに画像の説明を入力

ここでは、ナビゲーターに問題のない縦向きビューのスナップショットを示しています。 ここに画像の説明を入力

しかし、向きを変更すると、次の警告が表示されます。

ここに画像の説明を入力

この問題を解決するにはどうすればよいですか? ありがとう

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

ios7 - iOS 7: UINavigationController を子ビュー コントローラーとして持つカスタム コンテナー ビュー コントローラー

UINavigationController を子ビュー コントローラーとして配置する目的で、カスタム フルスクリーン コンテナー ビュー コントローラーを作成したいと思います。UINavigationController のビューは、UINavigationController がルート ビュー コントローラーのように見えるように、コンテナー ビュー コントローラーのビューを埋めます。(たとえば、Facebook で普及したスライド サイドバー メニュー UI を作成するために、このようなことをしたいと思うでしょう。)

私が行ったことは、iPhoneが横向きのときにステータスバーを非表示にする別のView Controllerを提示するときに不具合があることを除いて機能します。通常、ナビゲーション バーは、ステータス バーが消えると上にスライドし、再表示されると下にスライドします。代わりに、ナビゲーション バーは上にスライドすると想定される場所にとどまり、下にスライドすると想定される場合は、最初にステータス バーが重なるように配置され、次にステータス バーの下の正しい位置にジャンプします。基本的に、UINavigationController がカスタム コンテナー ビュー コントローラー内にない場合と同じように動作するようにしようとしています。

以下は、問題を確認するために実行できるコードですが、実行したくない場合は、最小限のカスタム コンテナー ビュー コントローラーを実装するContainerViewControllerクラスを参照してください。この問題の原因となっているカスタム コンテナー ビュー コントローラーに欠けているものは何ですか? UITabBarController をコンテナー ビュー コントローラーとして使用すると機能するため、実装に何かが欠けているようです。

必要に応じて以下をお読みください

サンプル コードを実行して問題を確認したい場合は、概要を以下に示します。3 つの方法でアプリを条件付きでコンパイルするために、 AppDelegateで定義されたMODEと呼ばれるプリプロセッサ定義があります。

  • MODE == 1の場合、ViewControllerは UINavigationController 内にあります。次に、「Present」ボタンを押してViewControllerWithStatusBarHiddenを表示し、「Dismiss」ボタンを押してこのビュー コントローラーを閉じることができます。アプリのこのモードは、私が求めている動作を示しています。

  • MODE == 2の場合、UINavigationController がContainerViewControllerの内部にあることを除いて、 MODE == 1の場合と同じです。アプリのこのモードは、私が現在持っている望ましくない動作を示しています。

  • MODE == 3の場合、UINavigationController が UITabBarController の内部にあることを除いて、MODE == 1の場合と同じです。アプリのこのモードは、私が求めている動作を取得できることを示しています。

繰り返しになりますが、問題を確認するには、iPhone が横向きのときに [Present] ボタンを押してから [Dismiss] ボタンを押してください。

コード

4 つのクラス:

  1. ContainerViewController
  2. AppDelegate
  3. ViewController
  4. ViewControllerWithStatusBarHidden

ContainerViewController.h

ContainerViewController.m

AppDelegate.h

AppDelegate.m

ViewController.h

ViewController.m

ViewControllerWithStatusBarHidden.h

ViewControllerWithStatusBarHidden.m

0 投票する
2 に答える
4026 参照

ios - ParentViewController が nil になっています。場所と方法がわからない

私はアプリを作成しようとしています。最初のステップは、viewControllers を作成してリンクすることです。ストーリーボードとスエージを使用してそれを行うことができることは知っていますが、古い学校の方法でやりたかった-つまり、コーディング

4つのView Controllerが含まれています

3 つのビュー コントローラーはContainerViewController(4th viewController) (私が書いたカスタム コンテナー) を使用して管理されます。現在currentSubViewController表示されているviewControllerを追跡します

3 つの viewController はすべて .nib から作成されます

  • メインページには「設定」と「ルール」の2つのボタンがあります
  • 設定には、「メイン」と「ルール」の 2 つのボタンがあります。
  • ルールには、「メイン」と「設定」の 2 つのボタンがあります。

始めるとき :

currentSubViewController が MainViewController のインスタンスに設定され、次に

コンテナを currentSubViewController の親にします。

そして、メインページは問題なく表示されます

「設定ボタン」を押して起動後

MainViewController の IBAction が呼び出されます

そしてshowViewControllerWithName ofContainerViewControllerが呼び出されます

SettingsViewControllerが表示される

「メイン」ボタンを押したときSettingsViewController

SettingsMainController の IBACtion が呼び出されます

しかし、ParentViewController はここでは nil であるため、何も表示されません。SettingsViewController はshowViewControllerWithName、前のステップの関数呼び出しからの toVC です。

showViewControllerWithName()OnMain()の間のどこかparentViewControllerが に設定されていnilます。私はviewDidAppearまでチェックし、その時点までparentViewControllerはnilではありませんでした。

私の質問は

  1. どこでparentViewControllernilに設定されていますか?
  2. この問題をデバッグするには、後で呼び出される他の内部関数を知りたいと思いますviewDidAppear
  3. ファクトリ クラスを使用して新しい UIViewControllers を作成すると問題が発生しますか?
  4. 作成されているインスタンスと表示されているインスタンスは異なりますか?デバッガーでメモリアドレスを確認しましたが、同じです

これを修正できません。派生クラスの親を追跡する非常にハックな方法を試してみましたが、transitionFromViewController:両方のビューコントローラーが同じ親を持つ必要があるという例外がスローされました。

私はこれでほぼ2日間立ち往生しています。助けていただければ幸いです。