storyboard简单认识
## storyboard文件的认识
- 作用:描述软件界面
- 程序启动的简单过程
- 程序一启动,就会加载`Main.storyboard`文件
- 会创建箭头所指的控制器,并且显示控制器所管理的软件界面
- 配置程序一启动就会加载的storyboard文件
## 控制器
- 概念:凡是继承自UIViewController的对象,都叫做控制器
- 注意:每一个控制器都会专门管理一个软件界面
- 作用:负责处理软件界面的各种事件、负责软件界面的创建和销毁
## IBAction
- 只能修饰方法的返回值类型
- 被IBAction修饰的方法
- 能拖线到storyboard中
- 返回值类型实际是void
- 使用格式
```objc
- (IBAction)buttonClick
{
}
```
## IBOutlet
- 只能修饰属性
- 被IBOutlet修饰的属性
- 能拖线到storyboard中
- 使用格式
```objc
@property (nonatomic, weak) IBOutlet UILabel *label;
```
## 关于IBAction、IBOutlet前缀IB的解释
- 全称:Interface Builder
- 以前的UI界面开发模式:Xcode3 + Interface Builder
- 从Xcode4开始,Interface Builder已经整合到Xcode中了
## 类扩展(Class Extension)
- 作用
- 能为某个类增加额外的属性、成员变量、方法声明
- 一般将类扩展写到.m文件中
- `一般将一些私有的属性写到类扩展`
- 使用格式
```objc
@interface 类名()
/* 属性、成员变量、方法声明 */
@end
```
- 与分类的区别
- 分类的小括号必须有名字
```objc
@interface 类名(分类名字)
/* 方法声明 */
@end
@implementation 类名(分类名字)
/* 方法实现 */
@end
```
- 分类只能扩充方法
- 如果在分类中声明了一个属性,分类只会生成这个属性的get\set方法声明
## 常见错误
- 第1个错误
- 错误描述:
```objc
[<ViewController 0x7fdc0152d300> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key label.
```
- 原因:IBOutlet属性代码被删掉了,但是属性连线还在
- 解决:将残留的连线删掉
- 第2个错误
- 错误描述:
```objc
-[ViewController blueClick]: unrecognized selector sent to instance 0x7ff59d014320
```
- 原因:调用了一个不存在的方法
- 解决:认真检查方法名,使用正确并且存在的方法名
## 项目的常见属性
- Product Name
- 产品名称
- 项目名称
- 软件名称
- Organization Name
- 公司名称
- Organization Identifier
- 公司的唯一标识
- 一般用网站域名的反写形式
- Bundle Identifier
- 软件的唯一标识
- 默认 == Organization Identifier + Product Name
storyboard简单认识的更多相关文章
- StoryBoard 简单使用
StoryBoard简单使用 故事版(storyboard)是一种简洁的图形界面,程序员可以采取拖的形式搭建一个界面,现在使用的xcode默认都会创建一个main.storyboard,作为app的入 ...
- 怎样在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.(不料在涉及到页面跳转的时候,遇到的问题是:点击后没有任何反应)众所周知 ...
随机推荐
- ISS_1建站使其能够用ipad浏览器下载安装x-code开发的程序
一:第一种方法 1:把ipa上传到一个https类型的网站比如:https://worktile.com 2:更改plist中urrl <?xml version="1.0" ...
- django一对多关系的小例题
urls.py from django.conf.urls import urlfrom django.contrib import adminfrom son1.views import * url ...
- MFC编程入门之二十六(常用控件:滚动条控件ScrollBar)
回顾上一节,讲的是组合框控件Combo Box的使用.本节详解滚动条控件Scroll Bar的相关内容. 滚动条控件简介 滚动条大家也很熟悉了,Windows窗口中很多都有滚动条.前面讲的列表框和组合 ...
- 转:Java中abstract和interface的区别
转自:Java中abstract和interface的区别 abstract class和interface是Java语言中对于抽象类定义进行支持的两种机制,正是由于这两种机制的存在,才赋予了Java ...
- Address already in use: JVM_Bind:8080 的解决办法<转>
出错情况:运行 Tomcat 时报错 含义:8080 位置显示的端口被其他进程占用 解决方法: 方法1: 开始--运行--cmd 进入命令提示符 输入netstat -ano 即可看到所有连接的PID ...
- SPSS数据分析—广义线性模型
我们前面介绍的一般线性模型.Logistic回归模型.对数线性模型.Poisson回归模型等,实际上均属于广义线性模型的范畴,广义 线性模型包含的范围非常广泛,原因在于其对于因变量.因变量的概率分布等 ...
- GbkToUtf8 Utf8ToGbk PackHttp
void CFunc::GbkToUtf8(CString &strGBK) { , (LPCTSTR)strGBK, -, NULL, ); unsigned ]; memset(wszUt ...
- The ProgID of the WorkspaceName's workspace factory
The ProgID of the WorkspaceName's workspace factory [C#]public stringWorkspaceFactoryProgID {get; se ...
- it转行了
国庆节后毅然的辞职了,辞职的还发生一些不愉快的事情,原来希望好去好来却不慌而散.接着便开始找工作,有过工作经验,找工作是容易些,不像刚毕业那会什么企业都没人要.因为实在是对it没感觉,所以找的都是销售 ...
- Luogu 魔法学院杯-第二弹(萌新的第一法blog)
虽然有点久远 还是放一下吧. 传送门:https://www.luogu.org/contest/show?tid=754 第一题 沉迷游戏,伤感情 #include <queue> ...