ホームページ データベース mysql チュートリアル popViewController 之 同时pop掉2层viewController

popViewController 之 同时pop掉2层viewController

Jun 07, 2016 pm 03:39 PM
pop vi

项目中有注册和修改密码功能,一旦注册成功就需要跳转到成功的界面,然后成功界面会有相应返回按钮事件,这时候我就需要直接返回我的上上层视图了 开始我用的BLOCK,可是这种已经不能满足我的要求了, (下面功能虽然没有实现,但是可以理解block的简单使用了

项目中有注册和修改密码功能,一旦注册成功就需要跳转到成功的界面,然后成功界面会有相应返回按钮事件,这时候我就需要直接返回我的上上层视图了

开始我用的BLOCK,可是这种已经不能满足我的要求了,

(下面功能虽然没有实现,但是可以理解block的简单使用了)

要求:我有3个视图 


视图1为登录界面

视图2为注册界面

视图3为提示成功界面


视图2已经push到了视图1上,接下来就要在视图2里写block了,代码如下

ViewController2 . h

@property (nonatomic,copy) void (^callback)(void);//我的block对象


ViewController2 . m


              UIStoryboard *sb=[UIStoryboard storyboardWithName:@"Main_iPhone" bundle:nil];

              ViewController3  *vc3=(ViewController3 *)[sb instantiateViewControllerWithIdentifier:@"viewcontroller3"];

              /*以上2行是我加载故事版中的视图3*/


              vc3.phoneNumber=self.phoneNum.text;//在故事版中如果2个视图之间相互传值,可以采用以上3行代码的形式来传递
                
                void (^myBlock)(void)=^{

                    [self.navigationController popViewControllerAnimated:YES];

                };
                
                [vc3 setCallback:myBlock];//将我的block赋给视图3
                [self.navigationController pushViewController:vc3  animated:YES];



以下代码为视图3里面的

ViewController3 . h

@property (nonatomic,copy) void (^callback)(void);


ViewController3 . m


            if (self.callback) {
                self.callback();
            }
            [self.navigationController popViewControllerAnimated:YES];




现在来看看我是如何实现的吧(简称面包屑用法)

【这种用法可以让你指定到你想返回的视图中去】根据上述功能,我将此段代码放在了视图3中

            NSArray *pushVCAry=[self.navigationController viewControllers];
          

//下面的pushVCAry.count-3 是让我回到视图1中去

            UIViewController *popVC=[pushVCAry objectAtIndex:pushVCAry.count-3];


            [self.navigationController popToViewController:popVC animated:YES];



希望对大家有所帮助,讲解的不是太好,大家可以在下方留言给我

popViewController 之  同时pop掉2层viewController

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

AIヘンタイを無料で生成します。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

Linux viでカーソルが表示されない問題の解決方法 Linux viでカーソルが表示されない問題の解決方法 May 30, 2023 pm 10:34 PM

Linuxvi でカーソルが表示されない場合の解決策: 1. Linux システムにログインし、ターミナルに入ります; 2. "echo-e"\033[?25h"" メソッドを実行してカーソルを表示します。 Linuxターミナルのカーソルが消える問題 今日vimでスクリプトを書いていたら突然カーソルが消えてしまい、編集位置がどこにあるのか分からず非常に不快でした。最初は vim の設定の問題を探していましたが、後でターミナルのカーソルも消えていることがわかりました。このとき初めて、端末のカーソルと vim のカーソルが関連していることがわかりました。そのため、端末のカーソルを取り出すだけで済みます。カーソルを非表示にする echo-e"\033[?25l"カーソルを表示する echo-e&quo

PHP での IMAP および POP プロトコルの適用 PHP での IMAP および POP プロトコルの適用 Jun 23, 2023 am 11:51 AM

インターネットと電子メールの普及により、人々は電子メールによるコミュニケーションにますます依存するようになりました。 PHP は、人気のあるスクリプト プログラミング言語として、電子メール操作の強力なサポートも提供します。その中で、IMAP プロトコルと POP プロトコルは、PHP での電子メール操作によく使用される 2 つのプロトコルです。 PHP でのアプリケーションを詳しく紹介しましょう。 1. IMAP プロトコル IMAP (Internet Message Access Protocol) プロトコルは、電子メール クライアントと電子メール サーバーの間に確立されます。

Linux で vi テキスト エディタを使用する方法 Linux で vi テキスト エディタを使用する方法 May 29, 2023 pm 02:41 PM

1. vi テキスト エディター構成ファイルは、Linux オペレーティング システムの特徴的な機能の 1 つであり、その機能は Windows オペレーティング システムのレジストリに似ていますが、レジストリが集中管理されるのに対し、構成ファイルは分散型の無料のシステムが採用されている点が異なります。管理方法です。 1. vi テキスト エディタを使用する vi は、強力な全画面テキスト編集ツールです。これは常に UNIX 系オペレーティング システムのデフォルトのテキスト エディタです。vim は、vi テキスト エディタ (vi エディタと呼ばれます) の拡張バージョンです。 vi エディターは多くの実用的な機能で拡張されていますが、通常は vim vi と呼ばれます。使いやすくするために、コマンド エイリアスを設定し、vi に vim プログラムを指定できます (この記事では vim プログラムを例として使用します)。 . 具体的な操作は以下の通りです。

Linux システムの vi エディターをマスターするためのいくつかの重要なスキル Linux システムの vi エディターをマスターするためのいくつかの重要なスキル Feb 29, 2024 am 08:37 AM

Linux システムでは、vi エディターは広く使用されているテキスト エディターです。システム管理者やプログラマーにとって、vi エディターのスキルを習得することは非常に重要です。この記事では、読者が編集効率を向上できるように、一般的に使用される vi エディターのスキルをいくつか紹介します。 vi エディターに入る vi エディターに入るには、Linux ターミナルに「vi ファイル名」と入力するだけです。特定のファイルを直接編集するには、コマンド ラインで「vi filename」を使用します。コマンドモードと挿入モードの切り替え vi エディタはコマンドモードと挿入モードの 2 つのモードに分かれています。コマンド モードでは、さまざまなコマンドを実行してテキストを操作できます。挿入モードでは、テキスト コンテンツを入力および編集できます。 2 つのモードを切り替えるには、「Esc」キーを押すだけです。

golang で「未定義: heap.Pop」エラーを解決するにはどうすればよいですか? golang で「未定義: heap.Pop」エラーを解決するにはどうすればよいですか? Jun 24, 2023 pm 07:17 PM

Golang は、高いパフォーマンス、シンプルさ、セキュリティ、および強力な同時実行サポートを備えたプログラミング言語です。 Golang を使用した開発の過程で、いくつかのエラー メッセージが表示されることがあります。最も一般的なエラーの 1 つは、「unknown:heap.Pop」です。このエラーはヒープを使用しているときに発生することが多いので、解決方法を見てみましょう。ヒープは非常に重要なデータ構造であり、Golang はヒープ操作をサポートするヒープ パッケージを提供します。

js配列から要素を削除する方法は何ですか js配列から要素を削除する方法は何ですか Feb 19, 2024 pm 03:34 PM

js 配列から要素を削除するには、splice() メソッドの使用、pop() メソッドとShift() メソッドの使用、delete キーワードの使用、filter() メソッドの使用など、さまざまな方法があります。以下では、これらのメソッドを詳細に紹介し、具体的なコード例を示します。要素を削除するには splice() メソッドを使用します。splice() メソッドは、配列内の要素を同時に削除し、削除された要素を返すことができます。構文は次のとおりです。 array.splice(start,delete

Linux viコマンドの使い方 Linux viコマンドの使い方 May 27, 2023 am 09:17 AM

1. 3 つのモードと切り替え ① コマンド ライン モード ② 挿入モード (ファイル編集に入るには、ESC を押してボトム ライン モードに入ります) ③ ボトム ライン モード 2. vi モード切り替えコマンド a--->[編集状態に入り、現在のカーソル 現在のカーソル位置の後に文字を挿入します]A--->[編集状態に入り、現在の行の末尾から文字を挿入します]i--->[編集状態に入り、現在のカーソルから文字を挿入します位置]I--->[編集状態に入り、現在の行の先頭から文字を挿入します]o--->[編集状態に入り、行を挿入し、カーソルを行頭に移動し、文字の挿入を開始します] O--->[編集状態に入り、カーソルの前に空行を追加、カーソルを移動 行頭から文字挿入開始]ESC---&gt

Pepe Unchained: 新しいレイヤー 2 ミーム コインはソラナのミーム コインの優位性を超えることを目指しています Pepe Unchained: 新しいレイヤー 2 ミーム コインはソラナのミーム コインの優位性を超えることを目指しています Aug 17, 2024 am 09:45 AM

Pepe Unchained (PEPU) は、人気の波に乗っている単なるミームコインではありません。これは、レイヤー 2 ネットワークを使用してミーム コイン市場を再定義することを目的とした画期的なプロジェクトです。

See all articles