Quantcast
Channel: CSDN博客移动开发推荐文章
Viewing all articles
Browse latest Browse all 5930

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

$
0
0

一、页面控制
在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。

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

作者:haoaoo 发表于2017/8/16 15:49:07 原文链接
阅读:39 评论:0 查看评论

Viewing all articles
Browse latest Browse all 5930

Trending Articles



<script src="https://jsc.adskeeper.com/r/s/rssing.com.1596347.js" async> </script>