ios导航控制器控制器 怎么手动切换到

 我来答
宝宝快乐我作主
推荐于2016-07-14 · TA获得超过1438个赞
知道小有建树答主
回答量:401
采纳率:66%
帮助的人:345万
展开全部
一个unwind segue可以在推送,模型和弹出连线(如果你弹出导航条的导航项,关闭弹出项或者销毁现有视图控制器的模型)时使用该技术。在它顶层,你可以直接展开多个而不仅仅是一个推送/模型/弹出项等。你可以使用一个解绑操作实现原本需要多步才可实现的,返回到导航层的功能。当你展示一个unwind segue时,你需要实例化一个行为(action),该行为是你想解绑到的视图控制器的一个方法。
- (IBAction)unwindToThisViewController:(UIStoryboardSegue *)unwindSegue
{
}
该行为函数的名称在你创建unwind segue到存储版上的时候会被调用。并且,该方法会在unwind segue展示之前就会被调用。你可以通过传递的UIStoryboardSegue 参数获得源视图控制器。这样就可以和视图控制器进行交互操作。同时,这些参数也会初始化segue(比如获取模型视图控制器的属性)。在这个方面,它和UIViewController方法中的prepareForSegue有相似之处。
示例
让我们创建一个带有导航控制器的storyboard,创建三个视图控制器:
enter image description here
从绿色视图控制器你可以解绑(导航回退)到红色视图控制器。从蓝色可以转换到绿色或者从绿色转换到红色。为了使unwinding有效。你必须添加指定的行为方法到红色和绿色当中。例如:这里有一个红色里面的方法:
@implementation RedViewController

- (IBAction)unwindToRed:(UIStoryboardSegue *)unwindSegue
{
}

在行为方法添加后,你可以通过拖拽方式定义一个unwind segue到你存储版当中,图标为退回图标。这里我们想实现按下按钮时从绿色转换为红色:
enter image description here
你必须选择行为。因为该行为在视图控制器在定义了你想转到的地方:
enter image description here
你也可以从红色跳转到蓝色(在导航中需要两步堆栈操作)。关键是选择正确的unwind行为。在unwind segue发生作用之前,行为方法会被调用。实例中,我定义了一个从红色到绿色和蓝色的unwind segue。我们可以进入通过UIStoryboardSegue 参数进入unwind行为方法的的源文件,以便了解机制:
- (IBAction)unwindToRed:(UIStoryboardSegue *)unwindSegue
{
UIViewController* sourceViewController = unwindSegue.sourceViewController;

if ([sourceViewController isKindOfClass:[BlueViewController class]])
{
NSLog(@"Coming from BLUE!");
}
else if ([sourceViewController isKindOfClass:[GreenViewController class]])
{
NSLog(@"Coming from GREEN!");
}
}
解绑也可以通过混合推送/模型来运作。比如:如果我用segue添加了一个黄色视图控制器,我们可以实现仅用一步就可以跳转到红色视图:
enter image description here
从代码实现解绑
当你用拖拽方式定义了一个unwind segue来实现退出某个视图控制器时,一个新的segue就会出现在文件大纲中:
enter image description here
选择segue 进入属性面板找到"Identifier"属性。使用该属性来对你的segue进行唯一性命名:
enter image description here
深圳市睿讯世纪科技有限公司
2023-08-24 广告
作为深圳市睿讯世纪科技有限公司的工作人员,我认为选择数字KVM切换器需要考虑多个因素,包括切换器性能、连接方式、传输距离、扩展能力、操作便利性等。我们公司自主研发的睿讯数字KVM切换器具有高性能、多通道、长距离传输、多屏显示、多种连接方式等... 点击进入详情页
本回答由深圳市睿讯世纪科技有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式