問題タブ [pushviewcontroller]

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 投票する
3 に答える
1711 参照

iphone - 新しいビューがロードされていません-pushViewControllerを使用しています

私はこれに数時間を費やし、さまざまなことを試みました。didSelectRowAtIndexPathが実際に実行されており、探している特定のオブジェクトが返されていることを確認できます。

何もしていない部分は、SensDetailViewClassビューを表示しようとしている部分です。コードは実行されますが、SensDetailViewClass.mのviewDidLoadメソッドは実行されず、ビューは変更されません。

SensDetailViewClassを表示させたいのですが。.xibファイルの所有者がSensDetailsViewClassであることを確認できます。

助けてください。これがコードです。

更新:次のメカニズムを使用して動作させることができました:[self presentModalViewController:detailsアニメーション:YES];

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

ios - pushViewController: 解放中のポインタが割り当てられていない場合

問題が見つかりません!これに関するヘルプは非常に高く評価されます: UITableView から、UIwebView を含むビューを含む新しいビューをプッシュして、インターネットにアクセスします。[戻る] ボタンをクリックすると、次のエラーが表示されます: malloc: *オブジェクト 0x3d438 のエラー: 解放されるポインターが割り当てられませんでした。ただし、最後の行にコメントすると (dvController がリリースされたとき)、すべて正常に動作します!!!

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

iphone - ビューコントローラーを次のビューコントローラーにプッシュできないのはなぜですか?

私はobjective-cでソケットに取り組んでいるので、条件が満たされたときにサーバーの応答を取得する関数を書きました。次のビューコントローラーにプッシュしたいのですが、プッシュまたは提示されていません。いくつかのコードがここに示されています

これが私の機能です

私の「goToWatchlist」メソッドは次のとおりです。

事前にサンクス

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

iphone - この pushViewController ステートメントは、私が行っているチュートリアルでどのように機能しますか?

私は本「Beginning iPhone 4 Development」のチュートリアルを行っており、第09章には次のコードスニペットがあります。

http://www.apress.com/downloadable/download/sample/sample_id/5/

最後の声明:

基本的に同じ既存のコントローラーをプッシュしているため、私には意味がありません。ただし、アプリをコンパイルして実行すると、すべて正常に動作します。私の質問は、このアプリで次の画面に移動する方法を教えてください。

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

cocoa-touch - pushViewControllerの後にviewDidAppearが呼び出されない

私は、データベースから情報を取得し、テーブルに表示し、ユーザーがテーブルからアイテムを選択することで詳細を取得できるようにするアプリを作成しています。テーブルが更新されるたびに、リストの値は正しいですが、テーブルには古い情報が表示されます(つまり、テーブルに元々3つのアイテムがあり、現在は2つある場合、テーブルには元の3つのアイテムが表示されますが、ユーザーがしようとすると壊れます。 3番目の項目をタップします)。詳細ビューでも同じ問題が発生します。ユーザーが1つの値を選択すると、その情報の表示が変わります。戻って新しい値を選択すると、ビューは変更されますが、最初の選択からの情報が表示されます。私は、これらの両方が表示されたときにviewDidAppearを呼び出さないビューに起因すると考えています。ナビゲーションコントローラーを使用してビューをロードしていますが、まだメソッドを呼び出していません。

これが私のlistViewの表示方法です:UITableViewController

私のdetailsView(UIViewController)も同様の方法で表示されます。ナビゲーションコントローラーはAppDelegateにあります。メインウィンドウには次のものがロードされます。

mainWindowと私のModalViewは、どちらもviewDidAppearメソッドを正常に呼び出しています。私はこれらの他の2人がなぜ彼らを呼んでいないのか完全に困惑しています。助けてくれてありがとう。

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

objective-c - pushViewControllerが2つのレベルを同時にプッシュすることの難しさ

1つのViewControllerにアイテムのリストがあります。アイテムを選択すると、詳細ビ​​ューコントローラが押されて、選択したアイテムの詳細が表示されます。次に、(ナビゲーションバーから)編集ボタンを選択すると、編集ビューコントローラーが押されてアイテムの詳細を編集できるようになります。キャンセルや元に戻すなど、これはすべて機能しています。

最初のリストビューコントローラーには、(ナビゲーションバーに)追加ボタンもあり、新しいレコードを追加できます。(これはコアデータを使用していますが、私の質問とは関係がないと思います。)アイテムの空白のレコードを作成することからテストを開始しました。詳細ビューコントローラーが表示されると、すべてのフィールドが空白になります。次に、編集ボタンを選択して、すでに入力されているレコードであるかのように詳細を編集できます。これも機能します。

私がやろうとしているのは、追加ボタンを選択し、詳細ビューコントローラを押してから、すぐに編集ビューコントローラを押すことです。これを実行する理由は、編集ビューコントローラーをポップすると、詳細ビ​​ューコントローラーが表示されるようにするためです。(その後、リストビューコントローラーに戻るか、編集ビューコントローラーに再度プッシュできます。)

私はこれに問題があります。

次のように、リストビューコントローラで2回プッシュしてみました。

ここで、clientInfoTVC.clientEditTVCはeidtビューコントローラーを指します。これはSIGABRTでエラーになり、追加しようとすると停止します。

次に、追加が選択されているときに、詳細ビューコントローラのviewWillAppearで最初のプッシュを実行し、次に2回目のプッシュを実行する前に、詳細ビューコントローラでフラグプロパティ値を設定してみました。これはエラーになります。2番目のプッシュを詳細ビューコントローラーのviewDidAppearに移動してみましたが、同じ結果になりました。

私はこれで迷子になります。ナビゲーションスタックを維持して中央のViewControllerに戻ることができるように、誰かが1つのViewControllerを2番目のViewControllerにプッシュする方法を教えてもらえますか?


@ljkyserは答えの一部にヒットしました。しかし、ビューをスタックにプッシュするだけでは、そのinit、viewWillAppear、およびviewDidLoadを実行できないこともわかりました。これはすべてメインスレッドで行われているため、ビューをプッシュすると、そのビューコントローラーが実行ループにキューイングされるだけだと思います。2番目のViewControllerを押すと、最初のView Controllerが実行ループから削除され、2番目のViewControllerが実行ループキューに入れられます。たぶん誰かがそれを確認して、私がやったよりも正確にそれを説明することができます。

いずれにせよ、エディットビューコントローラーを正しく初期化するには、ポインターを渡して、操作している管理対象オブジェクトを見つける必要がありました。私は元々、詳細ビューコントローラ内から編集ビューコントローラをインスタンス化していました。したがって、元のコードでは、まだインスタンス化されていないViewControllerをプッシュしていました。安全のために、リストビューコントローラーからインスタンス化し、次のようにダブルプッシュを実行する前に、すべての管理対象オブジェクトポインターが設定されていることを確認しました。

@ljkyserからの回答を確認し、最初のアニメーションを維持しながらこれらの変更を試しました:YES。これにより、ナビゲーションバーは正しく見えましたが、ビューの残りの部分は同期していませんでした。アニメーションの設定:NOはその問題を修正しました。

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

iphone - UITableViewCellからUIViewにplistをプッシュします

「タイトル」キーでUITableViewをコンパイルするplistがあります。plistは下にあります。テーブルビューは正しく入力されます。これを使用してViewControllerをプッシュします。

nextViewControllerテーブル内のどのオブジェクトが選択されたかに関する情報を保持するために、上記を取得するにはどうすればよいですか?nextViewControllerさらに、新しいビューで各サブツリーキーに含まれる文字列を表示するにはどうすればよいですか?そのViewDidLoadはどのように見えるべきですか?

これが、現在、nextViewControllerのViewDidLoadがどのように見えるかを示しています(説明はUILabelです)。「LAPlace1」の行が選択されているときに@「3001Sunset」が表示されないのはなぜですか。

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

iphone - それを押すときのnavigationcontrolerのリーク

特定の領域で以下のコードにリークが見つかりました。つまり、他の側からビューをプッシュすると、リークは見つかりませんでしたが、このプッシュだけで100%リークが発生します。

どうすればいいですか。

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

iphone - ポップ後にページへのプッシュを強制する

ユーザーがログインを作成して保存ボタンを押す画面があります。この時点で、このように保存されたログインでいっぱいの前の画面に戻ります...

ただし、このシナリオでのみ (保存を押した後)、ユーザーを別の画面に自動的にプッシュしたい (作成したログインを使用して効果的にログインする)。これは、ユーザーが画面に戻った場合に、「新しいログインの作成」画面ではなく、ログインのリストに戻るようにするためです。

私の質問は、このシナリオでこのプッシュを強制するにはどうすればよいですか? ユーザーが正常にログインしてから戻ってきたときに、ログインページに認識させることはできますか?