首頁 資料庫 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 Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

Video Face Swap

Video Face Swap

使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

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中郵件操作的兩種常用協定。以下就來詳細介紹一下它們在PHP的應用。一、IMAP協定IMAP(InternetMessageAccessProtocol)協定是在郵件客戶端和郵件伺服器之間建立的

精通Linux 系統vi編輯器的幾個關鍵技巧 精通Linux 系統vi編輯器的幾個關鍵技巧 Feb 29, 2024 am 08:37 AM

在Linux系統中,vi編輯器是一款被廣泛使用的文字編輯器。對於系統管理員和程式設計師來說,熟練vi編輯器的技巧至關重要。本文將分享一些常用的vi編輯器技巧,幫助讀者提升編輯效率。進入vi編輯器要進入vi編輯器,只需在Linux終端機鍵入「vi檔名」。若要直接編輯特定文件,可使用命令列中的「vi文件名稱」。指令模式與插入模式切換vi編輯器分為兩種模式:指令模式與插入模式。在命令模式下,可以執行各種命令來操作文字;而在插入模式下,可以輸入、編輯文字內容。要在兩種模式之間切換,只需按下"Esc"鍵即可。

如何解決 golang 中的 'undefined: heap.Pop” 錯誤? 如何解決 golang 中的 'undefined: heap.Pop” 錯誤? Jun 24, 2023 pm 07:17 PM

Golang是一種高效能、簡潔、安全、並發支援強的程式語言。在使用Golang進行開發的過程中,有時會遇到一些錯誤訊息。其中一個比較常見的錯誤就是「undefined:heap.Pop」。這種錯誤通常會出現在使用堆(heap)時,下面我們來看看如何解決這個錯誤。堆(heap)是一種很重要的資料結構,Golang中提供了heap套件來支援堆操作。

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.三種模式以及切換①命令列模式②插入模式(進入檔案編輯,按ESC進入底行模式)③底行模式2、vi模式切換指令a--->[進入編輯狀態,從目前遊標的位置後一個插入字元]A--->[進入編輯狀態,從目前行尾插入字元]i--->[進入編輯狀態,從目前遊標的位置前一個插入字元]I--->[進入編輯狀態,從目前行首插入字元]o--->[進入編輯狀態,插入一行,遊標移到行首開始插入字元]O--->[進入編輯狀態,遊標前加空行,遊標移到行首開始插入字元]ESC---&gt

Linux怎麼使用vi文字編輯器 Linux怎麼使用vi文字編輯器 May 29, 2023 pm 02:41 PM

一.vi文本编辑器配置文件是Linux操作系统的显著特征之一,其作用有点类似于Windows操作系统中的注册表,只不过注册表是集中管理,而配置文件采用了分散的自由管理方式。1.使用vi文本编辑器vi是一个功能强大的全屏幕文本编辑工具,一直以来都作为类UNIX操作系统的默认文本编辑器,vim是vi文本编辑器(简称vi编辑器)的增强版本,在vi编辑器的基础上扩展了很多实用的功能,但是习惯上也将vim称为vi,为了使用方便,可以设置一个命令别名,将vi指向vim程序(本文中以vim程序为例)具体操作如

Pepe Unchained:新的第 2 層 Meme 代幣旨在超越 Solana 的 Meme 代幣主導地位 Pepe Unchained:新的第 2 層 Meme 代幣旨在超越 Solana 的 Meme 代幣主導地位 Aug 17, 2024 am 09:45 AM

Pepe Unchained (PEPU) 不只是另一種流行的迷因幣;這是一個突破性的項目,旨在透過其第 2 層網路重新定義模因幣市場。

See all articles