解决方案

ios原生入门之storyboard页面绘制

seo靠我 2023-09-24 04:03:15

IOS使用storyboard绘制页面,使用block回传数据(老安卓开发搞IOS系列),demo源码点这里,演示效果如下

一、新建IOS项目

选择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我们也要拖动生成

字段如下

“SEO靠我”的新闻页面文章、图片、音频、视频等稿件均为自媒体人、第三方机构发布或转载。如稿件涉及版权等问题,请与 我们联系删除或处理,客服邮箱:html5sh@163.com,稿件内容仅为传递更多信息之目的,不代表本网观点,亦不代表本网站赞同 其观点或证实其内容的真实性。

网站备案号:浙ICP备17034767号-2