UI学习之——iOS中界面的推出方法

本文介绍了iOS中与界面操作相关的四个关键方法:push、pop、present和dismiss。push和pop用于导航控制器中的视图切换,而present和dismiss则涉及模态视图的显示和关闭。push用于在同一业务的不同界面间切换,pop返回上一级或根视图,present呈现模态视图,dismiss则用于关闭模态视图并返回前一界面。
摘要由CSDN通过智能技术生成

        iOS与界面相关的有push、pop、present、dismiss。        

一、pop与push

1.1 push

        例:

- (void)pressNext {
    SecondViewController *vc2 = [[SecondViewController alloc] init];
    [self.navigationController pushViewController: vc2 animated: YES];
}

        pushViewController方法传入两个参数,其中第一个参数是指推出的视图,第二个参数指是否启用动画效果。

1.2 pop

例:

- (void)pressFront {
    [self.navigationController popViewControllerAnimated: YES];
}

- (void)pressRoot {
    [self.navigationController popToRootViewControllerAnimated: YES];
}

        其中popViewControllerAnimated是指是否启用动画效果弹出当前视图到上一级视图。

        popToRootViewControllerAnimated是否启用动画效果弹出当前视图到根视图。

二、present与dismiss

2.1 present

        iOS中的present是一种用于展示视图控制器的方法。它通常用于在当前视图控制器的上下文中以模态方式展示另一个视图控制器。使用present方法展示的视图控制器将会覆盖当前视图控制器,并且用户必须先关闭展示的视图控制器才能回到之前的视图控制器。present方法可以接收多个参数,包括要展示的视图控制器、展示方式、展示动画等。在展示结束后,还可以通过dismiss方法将展示的视图控制器移除并返回到之前的视图控制器。

        push 和 present都可以推出界面,但是present推出的是模态视图。

        present一般用于不同业务界面的切换,push一般用于同一业务不同界面间的切换。

        push与pop对应,present与dismiss对应。

        present只能逐级返回,而push的所有视图由视图栈控制,可以返回上一级,也可以返回根视图、其他视图。

        presentViewController是iOS中的一个方法,用于以模态方式展示另一个视图控制器。例:

- (void)pressNNext {
    SecondViewController *vc2 = [[SecondViewController alloc] init];
    UINavigationController *navigationController = [[UINavigationController alloc] initWithRootViewController:vc2];
    [self presentViewController:navigationController animated:YES completion:nil];
}

其中,completion参数表示展示完成后要执行的闭包。

调用presentViewController方法后,该方法会将要展示的视图控制器以模态方式覆盖当前的视图控制器,并且用户必须先关闭展示的视图控制器才能回到之前的视图控制器。展示的视图控制器可以通过dismiss方法关闭并返回到之前的视图控制器。

模态视图即临时视图,它只能返回上一级。

2.2 dismiss

例:

- (void)pressFFront {
    [self dismissViewControllerAnimated:YES completion:nil];
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值