iOS开发——界面跳转方法总结

一、UITableBarController(标签栏控制器)中的界面跳转

我是在AppDelegate.m中写的代码,代码如下

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];

    //创建标签栏控制器tabBarController
    UITabBarController *tabBarController = [[UITabBarController alloc] init];

    //初始化firstView和secondView
    FirstViewController *firstView = [[FirstViewController alloc] init];
    SecondViewController *secondView = [[SecondViewController alloc]init];

    //添加子视图控制器firstView和secondView
    [tabBarController addChildViewController:firstView];
    [tabBarController addChildViewController:secondView];

    //设置底部标签栏上的title
    firstView.tabBarItem.title = @"first";
    secondView.tabBarItem.title = @"second";

    self.window.rootViewController = tabBarController;
    [self.window makeKeyAndVisible];
    return YES;
}

效果如下:
这里写图片描述

二、UINavigationController(导航控制器)中的界面跳转

AppDelegate.m中

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    self.window = [[UIWindow alloc]initWithFrame:[UIScreen mainScreen].bounds];

    FirstViewController *firstView = [[FirstViewController alloc] init];

    //创建导航控制器
    UINavigationController *nav = [[UINavigationController alloc] initWithRootViewController:firstView];
    self.window.rootViewController = nav;

    [self.window makeKeyAndVisible];
    return YES;
}

FirstViewController.m中

- (void)viewDidLoad {
    [super viewDidLoad];
    self.view.backgroundColor = [UIColor whiteColor];

    //创建一个Lable标记这是fistView
    UILabel *lable = [[UILabel alloc] initWithFrame:CGRectMake(50, 50, 100, 100)];
    lable.text = @"fist";
    [self.view addSubview:lable];

    //创建一个button实现界面间的跳转
    UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect];

    button.frame = CGRectMake(50, 150, 150, 100);

    [button setTitle:@"To secondView" forState:UIControlStateNormal];

    [button addTarget:self action:@selector(buttonPressed) forControlEvents:UIControlEventTouchUpInside];

    [self.view addSubview:button];
}

-(void)buttonPressed
{
    SecondViewController *secondView = [[SecondViewController alloc] init];

    //跳转到secondView的实现方法
    [self.navigationController pushViewController:secondView animated:YES];
}

这里写图片描述这里写图片描述
UINavigationController中跳转有三个方法,上述例子只实现了一个方法,还有其他两个方法。这里总结一下:

1.[self.navigationController pushViewController:firstView animated:YES];跳转到firstView界面
2.[self.navigationController popViewControllerAnimated:YES]; //返回上一页面
3.[self .navigationController popToRootViewControllerAnimated: YES ];  //返回根控制器

三、模态视图
很简单,就两个方法

[ self presentViewController:SVC animated: YES completion:nil];

[ self dismissViewControllerAnimated: YES completion: nil ];
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值