IOS使用storyboard绘制页面,使用block回传数据(老安卓开发搞IOS系列),demo源码点这里,演示效果如下
选择App -> Storyboard、Objective-SEO靠我C,其余字段随便填
Main.storyboard为故事版,用来绘制UI。双指捏合适当缩放故事版大小,方便添加控件。
点击右上角添加搜索导航控制器”Navigation ControllSEO靠我er“,长按拖动到故事版
入口箭头代表首屏页面,这里我们用新创建的导航器替换默认的首屏页面:拖动入口箭头到Navigation Controler
最后只保留我们自己创建的导航控制器
右上角添SEO靠我加新页面ViewController,并关联到导航控制器如下图所示
备注:新建过程中如果有弹窗manual,点一下即可
添加文本组件Label如下图所示
第一个页面继续添加其余组件如下所示:
1、添加LabeSEO靠我l组件默认文案”接收值“
2、添加Button”跳转“如下
修改第一个页面标题:”第一个页面“,按照图中所示步骤操作即可
再新建第二个页面的。
右上角新建ViewController,并添加组件SEO靠我如下图所示,最后与上一页页面通过Push建立关联关系(区别于第一页的RelationShip)
默认的ViewContoller.m文件为第一个页面的控制器,我们需要绑定下,同时需要添SEO靠我加第二个页面控制器SecondViewController.m
新建UIViewController的操作方式如下
选择Cocoa Touch Class
注意这里要继承自UIViewController
绑SEO靠我定后回车,
同理绑定SecondViewController
生成点击事件
选择UIButtton,取名jump
- (IBAction)jump:(UIButton *)sender {[self perfSEO靠我ormSegueWithIdentifier:@"second" sender:self]; }这里的second跳转设置如下
本文使用block回传数据,在SecondSEO靠我ViewController.h文件声明PassValueBlock
typedef void (^PassValueBlock)(NSString *string);@property (nonatoSEO靠我mic, copy) PassValueBlock block;- (void)passValueWithBlock:(PassValueBlock)block;在SecondViewControllSEO靠我er.m文件中保存当前block
- (void)passValueWithBlock:(PassValueBlock)block {self.block = [block copy];SEO靠我 }然后给返回按钮设置点击事件
- (IBAction)back:(UIButton *)sender {NSLog(@"AAA %p", self.block);if (self.blSEO靠我ock) {self.block(self.textField.text);}[self.navigationController popViewControllerAnimated:YES]; SEO靠我 }然后拖动输入框关联textField。
注意:这里关联的是头文件.h
最后在第一个页面的.m文件中接收
#import "SecondViewController.h"- (void)prepSEO靠我areForSegue:(UIStoryboardSegue *)segue sender:(id)sender{if ([segue.identifier isEqualToString:@"secSEO靠我ond"]) {SecondViewController *secondVC = segue.destinationViewController;[secondVC passValueWithBlocSEO靠我k:^(NSString *string) {self.label.text = string;}];} }同时这个label我们也要拖动生成
字段如下
网站备案号:浙ICP备17034767号-2