iOS探索--页面控制和跳转

本文介绍了在iOS开发中如何通过Main.storyboard和xib进行页面控制,详细讲解了ViewController与xib的关联,包括通过IBOutlet和IBAction进行控件连接,以及页面跳转的两种方式——导航和模态。还提到了实际开发中简化操作的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、页面控制
在ios项目中关联UI和代码界面有俩种方法Main.storyboard和xib。当然有些人说代码内也可以定义UI,再此不细说。Main.storyboard重量级,适合管理多个ViewController。xib的比较轻量级。

storyboard和xib区别:一个工程中可以有多个xib文件,一个xib文件对应着一个视图控制器和多个视图。而使用storyboard时,一个工程只需要一个主storyboard文件就可以了。因此,在包含多个视图控制器的情况下,采用storyboard管理比较方便,而且storyboard还可以描述界面之间的导航关系。

1.ViewController关联xib的
新建一个类勾选Also create XIB file选项。
这里写图片描述
勾选Also create XIB file后,会自动创建一个和ViewController类配置好的xib的文件。
这里写图片描述
然后在拖控件关联到File’s Owner。
这里写图片描述
2.关联NetViewController.h,监听button,并找到这个控件
这里写图片描述
鼠标点击button按着conforl键有一条线拉到@interface方法里。
会弹出一条弹框如图。Connection是选择需要的方法类型。可以选择Action。会自动添加一条监听方法- (IBAction)myclea:(id)sender;。
NextViewController.h查看监听方法。
这里写图片描述
在监听方法中可以实现点击事件。
在弹出弹框时默认Outlet类型,在代码中可以通过self关键字找到这个控件。
这里写图片描述
拖拽label控件到NextViewController.h文件中
这里写图片描述
在NextViewController.m文件中使用
这里写图片描述
2.通过tag属性值找到这个控件
这里写图片描述
代码中:

UILabel* label =(UILabel*)[self.view viewWithTag:10];

3.页面跳转

如果使用导航
第一个页面按钮方法:
[self.navigationController pushViewController:secondVC animated:YES];
第二个页面按钮方法(返回):
[self.navigationController popViewControllerAnimated:YES];

如果使用模态
第一个页面按钮方法:
[self presentViewController:secondVC animated:YES completion:nil];
第二个页面按钮方法(返回):
[self dismissViewControllerAnimated:YES completion:nil];

页面跳转方法直接在监听的方法中使用就行,例如:

//跳转到下一个页面

- (IBAction)myOk:(id)sender {
    NextViewController* next = [[NextViewController alloc] init];
    [self presentViewController:next animated:YES completion:nil];
}
//返回
- (IBAction)twoButton:(id)sender {
    [self dismissViewControllerAnimated:YES completion:nil];
}

当然在实际开发中不需要这么麻烦。
直接可以在NextViewController.m中定义好Button的指针变量和IBAction方法。然后去xib文件中关联就好了。
1.定义变量

@interface NextViewController ()
{
    __weak IBOutlet UIButton *loginButton;
}

2.定义IBAction方法

- (IBAction)login:(id)sender{
   //此处实现点击需要的方法
}

3.关联xib
这里写图片描述
鼠标点击File’s Owner按着confrol键移动到LoginButton
这里写图片描述
主要关联:Received Action方法和Outlets方法里的loginButton。

至此,关联以及监听方法讲解完毕。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值