問題タブ [uinavigationcontroller]

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 に答える
2288 参照

iphone - appDelegate から UINavigationcontroller のいずれかのビュー コントローラーに情報を渡す方法

私が取り組んでいるiphoneアプリでは、カスタムクラスを使用してホストとのネットワーク通信を管理しています。protocolClass というクラスは、appDelegate では ivar であり、applicationDidFinishLaunching: メソッドでは alloc + init です。

これで、protocolClass がホストからデータを受信するたびに、デリゲート (appDelegate として設定) で protocolClassDidReceiveData: メソッドが呼び出されます。次に、UINavigatorController の customViewControllers の 1 つでデータを更新する必要があります。

appDelegate で更新する必要がある customViewController への参照を追加する必要がありますか? または他のより効率的な方法はありますか?

customViewcontroller への参照を保持する場合、メモリ使用量の影響は何ですか?

前もって感謝します。

0 投票する
4 に答える
4342 参照

iphone - ABPeoplePickerNavigationControllerが閉じられた後のカスタムアクション

ABPeoplePickerNavigationControllerをユーザーに提示し、連絡先を選択するように依頼しています。ユーザーを選択したら、選択したプロパティに応じて、メッセージアプリまたはメールアプリのいずれかに送信してもらいたいと思います。ただし、モーダルピッカーが閉じられた後に発生するアクションをカスタマイズする方法がわかりません。

だから、どうすればこれを行うことができますか?ありがとう!

0 投票する
6 に答える
37407 参照

iphone - UINavigationController popToRootViewControllerをクリックし、すぐに新しいビューをプッシュします

2つのタブを持つtabBarControllerがあり、最初のタブにはNavigatorControllerのインスタンスが含まれています。navigatorControllerは、tableView上のすべてのネットワークピアを一覧表示するカスタムviewController「peersViewController」で開始されます。ピアを選択すると、「FilesListViewController」(c:\ディレクトリ内のファイルを一覧表示します)のインスタンスがnavigationControllerスタックにプッシュされます。

このfilesListViewControllerには、ドキュメントディレクトリに移動するためのボタンがあります。これを行うには、rootViewControllerのgotoDirectory:(NSString *)pathメソッドを呼び出すようにインターフェイスを配線しました。

ただし、そのボタンを押すと、navigationControllerによってビューがルートビューコントローラーにポップされましたが、インスタンス化したFilesListViewControllerが表示されませんでした。ログから、カスタムinitWithFilesメソッドが実際に呼び出され、ネットワークスタッフがファイル名を取得したことがわかります。

他の何かがこれについて厄介です。2番目のタブをクリックしてから、最初のタブに戻ってクリックしてみました。必要なファイル名はそこにあります。データとfilesListViewControllerが実際にnavigatorControllerスタックにプッシュされたように見えますが、表示は更新されず、rootViewController(peersViewController)の画面でスタックしました。

私は何か間違ったことをしていますか?

-ベン。

-質問を投稿してから15分後に編集しました。回避策を見つけましたが、ポップしてからプッシュしても機能しないのが気になります。

この方法でnavigationControllerを回避する必要はないようです。おそらく、元のスタックにあったすべてのviewControllerを解放する必要があります。ただし、これはiphone3.0シミュレーターでは機能します。

ただし、このコードを使用している場合、メモリ解放はどのように処理する必要がありますか?ビューコントローラの元のNSArrayを取得して、すべてを解放する必要がありますか?

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

iphone - 固定UIToolbarでモーダルView Controllerを表示するには?

固定ツールバーの下にあるモーダル ビュー コントローラーをセットアップしようとしています。したがって、モーダルビューがロールインしている間、ツールバーは一番上にあるはずです。たとえば、ブックマークボタンを押すと、Safariアプリがそれを行います。ツールバーはそのままで、ボタンが変わります..

ツールバーを前面に押して、 presentModalViewController メソッドをまったく使用せず、代わりに新しいビューを手動でサブビューにアニメーション化するなど、いくつかのことを試しました。しかし、それは他のいくつかの問題をもたらしました。

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

iphone - UINavigationBar のタイトルと右ボタン

私はナビゲーションコントローラーを持っており、その中にビューコントローラーがあります:

また、別のナビゲーション コントローラー、NavigationController2 もあります。NavigationController2 にプッシュされた別のビュー コントローラー (ViewController2) から MyViewController を呼び出したいと思います。-NavigationController2 --ViewController2

私は次の方法でそれを行います:

そして、これが MyViewController の viewWillAppear メソッド (呼び出されているもの) です。

ユーザーがテキスト フィールドの編集を開始したときに、ナビゲーション バーに「完了」ボタンを追加しています。

問題は、NavigationController2 にプッシュされた ViewController2 から MyViewController を呼び出し、その後独自の NavigationController1 から MyViewController を呼び出すと、ナビゲーション バーのタイトルと完了ボタンが追加されないことです。ただし、MyViewController の viewWillAppear および textFieldDidBeginEditing メソッドが呼び出されています。

何が問題で、どうすれば修正できますか?

ありがとう。

0 投票する
7 に答える
16743 参照

iphone - UINavigationControllerと自動回転

私は他のすべてのためにそしてYESのために戻るUIViewControllerを持っています。スタックの一番上にあるそのビューで、私は新しいをプッシュするために使用します。新しいコントローラーは、内のすべてに対して戻ります。shouldAutorotateToInterfaceOrientation:UIDeviceOrientationPortraitNOpushViewController:animated:UIViewControllerYESshouldAutorotateToInterfaceOrientation:

最初のビューは回転を拒否します(予想どおり)。2番目のビューが押されると、ユーザーはデバイスを回転させることができ、UIが回転します(これも期待どおりです)。2番目のビューが横向きモードで、ユーザーが戻るボタン(を呼び出すpopViewControllerAnimated:)を押すと、最初のビューは回転して表示されます(予期しない!)。

ユーザーがデバイスを回転させて縦向きに戻すと、ビューが回転し、以前と同様に縦向きモードのままになります。これは機能しますが、ユーザーが後ろに回転するまでは醜いです。だから私はこのビューをポートレートモードのままにする方法を探しています。

これまでに見つけた唯一の回避策は、を使用すること-[UIDevice setOrientation:]です。これは警告をスローします(orientation読み取り専用)が、実際に定義されているため機能します。これは巨大なハックであり、私は本当の解決策が欲しいです。実際の解決策を探して、GDBをPhotosアプリケーション(MobileSlideshow.app)に接続し、それもを使用していることを発見しました-[UIDevice setOrientation:]。彼らは異なるルールを持っていると思いますが、内部アプリケーションであること。

期待される自動回転動作を実現する正しい方法はありますか?

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

iphone - ビューに戻ると UIWebView が空白になる

UIWebView を読み込むアプリがあります。そして、それはうまくいきます。ユーザーが Web ビューのリンクをクリックすると、新しいビュー コントローラー/Web ビューが作成され、リンクが読み込まれます。これもうまく機能します。

うまく機能していないのは、最初の Web ビューに戻ったときに (おそらく 1/4)、ビューが真っ白になることがあることです。

コントローラーの割り当てが解除されておらず、その間にメモリ警告を受信して​​いません。そして、私は完全に困惑しています。

何が起こっているのか、特にそれを修正する方法を知っている人はいますか?

コントローラーと関係のあるメソッドは次のとおりです。

初期コントローラー:

その他のコントローラー (WebView):

0 投票する
5 に答える
4646 参照

iphone - ナビゲーション ベースのアプリでの UITableView の読み込みに関する問題

UITableViewナビゲーションベースのアプリで、次を使用して実装された別のビューをロードしようとするとinitWithNibName:

UITableViewセルをクリックした後、次のようになります。

2009-06-13 11:44:41.089 Bloop[75227:20b] *** Terminating app due to uncaught exception 'NSUnknownKeyException', reason: '[<UIViewController 0xd446f0> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key tableView.' 2009-06-13 11:44:41.092 Bloop[75227:20b] Stack: (
807902715, 2429103675, 808061681, 810717848, 810716389, 816538544, 807805711, 816533170, 816541363, 815230552, 815224116, 815223834, 815217291, 815258907, 815254969, 815262662, 815243017, 815265053, 815242666, 11044, 815018240, 815005661, 810768858, 807687328, 807683624, 839142449, 839142646, 814752238, 9088, 8942 )

しかしUITableView、InterfaceBuilder で切断すると、ビューは問題なくロードされます (ただし、データをプッシュする方法はありません)。

UITableView の実装は適切です。新しい XCode プロジェクトで試してみましたが、問題なく動作しました。

0 投票する
3 に答える
5856 参照

iphone - UITabBarController および UINavigationController 内のビューを自動回転する

私のメイン ビュー コントローラーは で、タブ バーの項目はUITabBarController4です。UINavigationControllers各ナビゲーション バーは、スタックにプッシュされるいくつかの異なるビューです。

自動回転させたい単一のビューがありますがwillAnimateFirstHalfOfRotationToInterfaceOrientation、そのビュー コントローラー内で呼び出すことができません。

私は my UITabBarControllerandをサブクラス化し、次のようUINaviationControllersにオーバーライドを追加しようとしました:shouldAutorotateToInterfaceOrientation

その後も、ビューを回転させることはできません。一番上UIViewController(タブとナビゲーションを含む)は回転できる必要があるかもしれないと思いました。または、チェーンのすべてのビューでさえ。すべてのコントローラーをオーバーライドしようとしましshouldAutorotateToInterfaceOrientationたが、ビューを回転させることはできません。

誰かがこれを達成したか、何か提案がありますか?

前もって感謝します!

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

iphone - iPhone のナビ コントローラーでビューを回転する

私のアプリケーションには、ナビゲーション コントローラーを含むタブ バーがあります。

横向きに回転するときは、次のように横向きビューをナビゲーション コントローラー スタックにプッシュして、別のビューに切り替えます。

}

これは正常に機能しますが、縦向きに戻すと、ビューが正しく表示され、ナビゲーション バーの高さと推測される分だけ「ジャンプ」します。ビューの上部は、ナビゲーション バーの後ろに隠されます。

通常の方法で別のコントローラーを上に押してから、縦向きのビューに戻すと、正しく表示されます。これは、横向きから元に戻すときにのみ発生します。

また、シミュレーターでは問題なく動作しますが、iPhone では動作しません。私は2.0用にビルドしていますが、それ以降のバージョンでも同じようです。

何か案は?

乾杯アッシュ