文档章节

你真的会用storyboard开发吗?

哥特复心
 哥特复心
发布于 2015/01/27 17:26
字数 400
阅读 2193
收藏 8

在一般的布局中,我们先使用一个plist文件,做为tabbarVC的的4个选项 pilist文件如下 在此输入图片描述 然后创建多个Storyboard,以及Storyboard关联的文件, 然后删除启动的一些sb界面,让界面启动时候从AppDelegate中启动, 在AppDelegate中写下如下代码

<!-- lang: cpp -->
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// Override point for customization after application launch.

self.window  = [[UIWindow alloc] initWithFrame:[UIScreen mainScreen].bounds];
self.window.backgroundColor = [UIColor whiteColor];
//b不要在主方法中写碎代码
[self setUI];
[self.window makeKeyAndVisible];
return YES;

}

-(void)setUI{

UITabBarController *uiTabBar = [[UITabBarController alloc] init];

NSURL *url = [[NSBundle mainBundle] URLForResource:@"MainUI" withExtension:@"plist"];
NSArray *arr = [NSArray arrayWithContentsOfURL:url];

for (NSDictionary *dic in arr) {
    
    UIStoryboard *sb = [UIStoryboard storyboardWithName:dic[@"vcName"] bundle:nil];
    UIViewController *uiVC = sb.instantiateInitialViewController;
    uiVC.title = dic[@"title"];
    uiVC.tabBarItem.image = [UIImage imageNamed:dic[@"icon"]];
    uiVC.tabBarItem.badgeValue = dic[@"badgeNumber"];
    
    [uiTabBar addChildViewController:uiVC];
}

self.window.rootViewController = uiTabBar;

}

然后就能看到如下功能了,

效果如下 在此输入图片描述

那在SB文件中的按钮点击跳转到其他SB文件中怎么处理呢?如下代码:

<!-- lang: cpp -->
  • (IBAction)clickBtn:(id)sender { UIStoryboard *sb = [UIStoryboard storyboardWithName:@"hhh" bundle:nil]; UIViewController *vc = sb.instantiateInitialViewController; [self.navigationController pushViewController:vc animated:YES]; }

当然我讲的肯定不是很清晰,下面你看下我的源代码吧!嘻嘻,希望对你有用!

下面是我在gitthub上详细地址:https://github.com/pyawkk/SB-.git

© 著作权归作者所有

哥特复心
粉丝 109
博文 68
码字总数 40593
作品 0
长沙
高级程序员
私信 提问
iOS开发简记(6):storyboard的使用

从xib到storyboard,iOS界面开发的方式在变化。 这里记录怎么使用storyboard来完成简单的界面开发,比如实现一个“我”的简单界面。 (1)新建storyboard 在新建文件向导中,选择storyboard并...

jonlan
2018/11/23
0
0
iOS开发之BLE(二)——外设连接与断开

在iOS开发之BLE(一)——理论知识一文中,主要对iOS开发中BLE的基本理论知识进行了介绍,本文以中心模式为例讲解中心设备与外设的连接过程,并进行案例实践。 中心模式连接步骤 引入,初始化中...

YungFan
03/21
0
0
Storyboard的爱与恨

尽管现在已经是Apple将Storyboard整合进Xcode中的第四个年头,大家对于Storyboard的评价仍然褒贬不一。有早期就选择转向Storyboard用于UI开发的国内业界领头人物,也有创建项目就立马删除Sto...

上官尘
2016/02/25
187
0
1年多没接触IOS开发,发现变化好大,要怎么重新开始学习

以前是做Web开发的,前端和后端都做。 13年在之前的公司边学边做IOS项目,当时最新是IOS6.0,项目是用XIB开发的, 用了大概2个月的时间做了一个商城的APP,可以下订单,但没有支付功能。真机...

_Lex
2015/03/02
366
2
IOS代码实现Hello World

前面写的IOS笔记一直都是用Xib文件实现的小Demo开发,但是问了好几个现在正从事IOS开发的朋友,在实际开发,并不是所有的项目都会用Xib来实现的,因为IOS以前的版本不能正常运行,因为还在学...

长平狐
2012/10/25
155
0

没有更多内容

加载失败,请刷新页面

加载更多

mysql-connector-java升级到8.0后保存时间到数据库出现了时差

在一个新项目中用到了新版的mysql jdbc 驱动 <dependency>     <groupId>mysql</groupId>     <artifactId>mysql-connector-java</artifactId>     <version>8.0.18</version> ......

ValSong
26分钟前
4
0
Spring Boot 如何部署到 Linux 中的服务

打包完成后的 Spring Boot 程序如何部署到 Linux 上的服务? 你可以参考官方的有关部署 Spring Boot 为 Linux 服务的文档。 文档链接如下: https://docs.ossez.com/spring-boot-docs/docs/r...

honeymoose
28分钟前
4
0
Spring Boot 2 实战:使用 Spring Boot Admin 监控你的应用

1. 前言 生产上对 Web 应用 的监控是十分必要的。我们可以近乎实时来对应用的健康、性能等其他指标进行监控来及时应对一些突发情况。避免一些故障的发生。对于 Spring Boot 应用来说我们可以...

码农小胖哥
今天
6
0
ZetCode 教程翻译计划正式启动 | ApacheCN

原文:ZetCode 协议:CC BY-NC-SA 4.0 欢迎任何人参与和完善:一个人可以走的很快,但是一群人却可以走的更远。 ApacheCN 学习资源 贡献指南 本项目需要校对,欢迎大家提交 Pull Request。 ...

ApacheCN_飞龙
今天
4
0
CSS定位

CSS定位 relative相对定位 absolute绝对定位 fixed和sticky及zIndex relative相对定位 position特性:css position属性用于指定一个元素在文档中的定位方式。top、right、bottom、left属性则...

studywin
今天
7
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部