StoryBoard 简单使用
StoryBoard简单使用
故事版(storyboard)是一种简洁的图形界面,程序员可以采取拖的形式搭建一个界面,现在使用的xcode默认都会创建一个main.storyboard,作为app的入口。
1、修改rootVC,默认的rootVC是系统帮我们创建的ViewController,我们可以通过eidtor—embed in来修改rootVC:
2、拖拽控件,并设置出口
控件分为很多种,一是只显示的,我们可以从右下角菜单直接拖到故事版,然后在右侧菜单设置一些属性即可
二是拖到界面后,我们需要在代码中对其进行修改,那么我么就需要设置其出口:首先点击右上角,将xcode一分为二,然后右侧文件改为此storyboard对应的.h文件:
然后在左侧故事板中选中控件,按住control,同时用鼠标点中控件,不要松开,往右侧的.h文件中拖,会出现一个蓝线,记住,蓝线终点位置要在@@interface下,@end上:松开手指和鼠标,会弹出一个视图
connection代表出口,name则是控件名称。
如果是button之类的控件,重复上面的操作,在弹出框中修改connection为action:
,name表示要生成的方法名
3、 添加一个故事版,在实际应用过程中,我们会需要不止一个界面,我们需要添加新的,那么我们只需要在main.storyboard的窗口中拖进去一个View controller即可:
,视图上方有三个选项,第一个代表要绑定的Viewcontroller文件:
4、 界面跳转(segue),页面跳转有两种方式,第一种就是通过控件直接拖拽,选中控件,按住control+鼠标左键,拖进要跳转到的界面,松开会弹出跳转方式,选择一种即可
第二种是利用ViewController与ViewController之间,拖拽添加segue,并给segue添加identifier。这种方法就需要在相应需要跳转的方法内写入代码,手动去设置它的跳转。
- (IBAction)buttonClicked:(id)sender {
[self performSegueWithIdentifier:@"vc2" sender:self];
}
跳转的方式我们可以自行设置:
5、界面传值,A跳转到B,并且需要传值,那么我们需要在A中添加一个方法prepareForSegue:
-(void)prepareForSegue:(UIStoryboardSegue *)segue sender:(id)sender{
ViewController1 *vc = segue.destinationViewController;//获取segue对应的VC
vc.str = @"345";
//KVC
// if ([vc respondsToSelector:@selector(setStr:)]) {
// [vc setValue:@"123" forKey:@"str"];
// }
}
6、 创建独立的SB
选择new file,选择ios-àuser interface-àStoryboard-ànext,取个名字即可
然后选中创建好的.storyboard文件,拖进去一个Viewcontroller
然后选中其上方三个视图的第一个,设置其对应的class
7、 要使用上步创建的故事版,需要先根据故事板名字拿到其对象:
UIStoryboard *story = [UIStoryboard storyboardWithName:@"Storyboard3"//故事板名字不要后缀 bundle:[NSBundle mainBundle]];
然后通过故事版生成vc对象(需要使用故事版的identifier)
ViewController3 *vc = [story instantiateViewControllerWithIdentifier:@"controller3"];
StoryBoard 简单使用的更多相关文章
- storyboard简单认识
## storyboard文件的认识 - 作用:描述软件界面 - 程序启动的简单过程 - 程序一启动,就会加载`Main.storyboard`文件 - 会创建箭头所指的控制器,并且显示控制器所管理的 ...
- 怎样在xcode中使用storyboard
StoryBoard是iOS 5的新特征,目的是取代历史悠久的NIB/XIB,对于已经习惯了xib文件的孩子们来说,StoryBoard还不是那么熟悉.经过两天的研究,有了一些心得,在此分享. 一.怎 ...
- UITableViewcell autolayout下动态高度
项目中最经常使用的一个UI就是UITableView了.iOS7.8进一步优化了复用机制,用起来相当爽.配合Autolayout,适配工作减轻了非常多. 曾经做适配工作都是在heightForRow里 ...
- 《Programming WPF》翻译 第8章 5.创建动画过程
原文:<Programming WPF>翻译 第8章 5.创建动画过程 所有在这章使用xaml举例说明的技术,都可以在代码中使用,正如你希望的.可是,代码可以使用动画在某种程度上不可能在x ...
- 8--UI 初步认识 简易计算器
UI是App的根基:一个App应该是先有UI界面,然后在UI的基础上增加实用功能(2)UI相对简单易学:UI普遍是学习过程中最简单的一块,能快速拥有成就感和学习兴趣(3)UI至关重要:开发中的绝大部分 ...
- 如何使用Xcode进行高保真原型设计?
转载自:http://www.guimobile.net/xcode-high-fidelity-prototype-design.html Xcode不仅是开发者用来开发iOS Apps的开发工具, ...
- iOS开发——UI进阶篇(八)pickerView简单使用,通过storyboard加载控制器,注册界面,通过xib创建控制器,控制器的view创建,导航控制器的基本使用
一.pickerView简单使用 1.UIPickerViewDataSource 这两个方法必须实现 // 返回有多少列 - (NSInteger)numberOfComponentsInPicke ...
- [转]使用storyboard实现页面跳转,简单的数据传递
由于最近才接触到IOS,苹果已经建议storyboard来搭建所有界面了,于是我也追随时尚,直接开始使用storyboard.(不料在涉及到页面跳转的时候,遇到的问题是:点击后没有任何反应)众所周知, ...
- 使用storyboard实现页面跳转,简单的数据传递
由于最近才接触到IOS,苹果已经建议storyboard来搭建所有界面了,于是我 也追随时尚,直接开始使用storyboard.(不料在涉及到页面跳转的时候,遇到的问题是:点击后没有任何反应)众所周知 ...
随机推荐
- Android sharePreference使用
SharedPreferences类,它是一个轻量级的存储类,特别适合用于保存软件配置参数. SharedPreferences保存数据,其背后是用xml文件存放数据,文件存放在/data/data/ ...
- oracle计算时间秒数差
--计算plsql处理时间差 --qzq declare time1 timestamp; --开始时间 time2 timestamp; --结束时间 sum1 ); --时间差(s) begin ...
- flash中htmlText样式
赋值htmlText时,htmlText中指定了样式的按指定样式显示,没有指定的按该文本的默认样式显示. PS:flash软件拖出来的文本,在赋值htmlText的时候该文本原有样式会失效,而new出 ...
- Python3实现最小堆建堆算法
今天看Python CookBook中关于“求list中最大(最小)的N个元素”的内容,介绍了直接使用python的heapq模块的nlargest和nsmallest函数的解决方式,记得学习数据结构 ...
- 记一次TFS 的 垃圾提示(无法下载 未获取项目 的 代码)
提示 “ 所有文件都是最新的 ”,但是在 源码管理 里面 确是 “未下载” 我艹,第一次遇到.如图.~~ 最后发现是 TFS 的项目权限设置问题. 你妈个马批的,啥子鸡巴破B提示,太阳你妈B 的 .要 ...
- windows下调用发送邮件程序项*发送邮件
#include <windows.h>int _tmain(int argc, _TCHAR* argv[]){ ShellExecute(NULL, _T("open&quo ...
- PHP与memcache安装使用说明
最近网站流量上来后,数据库连接数一直偏高,分析了下,都是正常请求,只是网站功能分的细,单页面数据库查询句偏多了,很多数据是没必要实时查询,缓存起来就可以的!考虑必须用memcache缓存了,减轻mys ...
- hihoCoder 1309:任务分配 贪心 优先队列
#1309 : 任务分配 时间限制:10000ms 单点时限:1000ms 内存限制:256MB 描述 给定 N 项任务的起至时间( S1, E1 ), ( S2, E2 ), ..., ( SN, ...
- 在Mac上搭建本地Apache服务器一些注意点
一般在开发ios程序中,我们需要使用到和服务器的交互操作. 一般我们在Mac上使用Apache来搭建服务器.数据库采用MySQL.在Mac中Apache是自带的.所有,我们可以不需要额外的去Apple ...
- IOS常见错误之一连线错误
在IOS编程中,UI方面,对于新手,接触时,不免喜欢拖控件,觉得省去了一些麻烦,其实在操作控件的过程中也有很多问题需要注意 本人今天就说下遇到的一个问题. setValue:forUndefinedK ...