IOS的UI基础01
内容大纲:(红色表示博主个人重点记忆)
1、指定启动界面 带箭头就是首次启动的页面
2、两个常用的快捷键
3、拖线子控件注意事项
4、一般情况下,UIView的容器是控制器的View。
5、didReciveMemoryWaring方法和loadDidLoad方法.
6、View常见的方法。
7、新建工程相关一览。
8、项目文件一览。
9、UI控件的内存管理
10、关于Tag和自定义引用指针
11、OC语言:对象的结构体属性是不允许直接修改内部的变量的
12、常见错误。
IOS--UI基础 时间:2015.11.13
说在前面:此部分IOS-UI是博主已经有一定基础之后,在新的学习中遇到的之前没有掌握的知识,所以零基础的读者可以略读或者飘过。
相关的思维导图:

1、指定启动界面 带箭头就是首次启动的页面 (下面是新建Mac的带UI的工程,不是IOS的工程哦)

2、两个常用的快捷键
Xcode相关的快捷键
调出代码:command+option+回车
退出代码:command+回车
3、一般情况 控件引用是用weak,一般很多空间比如UIButton或者UITextView控件都是作为子控件添加到父控件View中的,当作为View父控件的子控件之后,就会被强引用,所以代码为这个子控件的实例对象添加的引用是不需要再一次用strong修饰的。
总之:一般控件引用指针都是用weak修饰符修饰不要用strong修饰。
另外控件托线拖入一般都是拖在.h文件中的。

4、一般情况下,UIView的容器是控制器的View。

5、内存警告调用的方法是
didReciveMemoryWaring

控制器加载好厚,系统调用的方法是
loadDidLoad

6、View常见的方法:

7、新建工程相关一览:

8、项目文件一览:

9、UI控件的内存管理

10、关于Tag和自定义引用指针
因为:1、当项目子控件多的时候,使用tag可能会理不清子控件。2、通过tag找出对应的空间效率非常低。
所以建议:使用自定义属性引用指针去指向需要用到的子控件,而且一般子控件属性修饰符是用weak。
11、OC语言:对象的结构体属性是不允许直接修改内部的变量的
//self.btn.frame.origin.x = 20;是会报错的
CGRect frame = self.btn.frame;
frame.orgin.x = 20;
self.btn.frame = frame;
错误一:
reason: '[<ViewController 0x7fd1086147c0> setValue:forUndefinedKey:]:
this class is not key value coding-compliant for the key label.'
forUndefinedKey就是找不到key属性,也就是说属性删了。
错误二:
reason: '-[ViewController greenBtnClick]: unrecognized selector sent to
instance 0x7ffd117115f0'
*** First throw call stack:
组件找不到响应的方法。
IOS的UI基础01的更多相关文章
- iOS开发UI基础—手写控件,frame,center和bounds属性
iOS开发UI基础—手写控件,frame,center和bounds属性 一.手写控件 1.手写控件的步骤 (1)使用相应的控件类创建控件对象 (2)设置该控件的各种属性 (3)添加控件到视图中 (4 ...
- IOS开发UI基础--数据刷新
IOS开发UI基础--数据刷新 cell的数据刷新包括下面几个方面 加入数据 删除数据 更改数据 全局刷新方法(最经常使用) [self.tableView reloadData]; // 屏幕上的全 ...
- iOS开发-UI基础Demo
现在更多的学习资料都是xCode4.X的,发现xCode6.1还是很多东西,如果有正在学习iOS开发的可以通过Demo简单了解下iOS的UI开发~ 1.新建单视图文件: 2.新建项目名称,语言选择OC ...
- iOS学习——UI基础UIButton(七)
前面写了UIWindow.UIViewController,那些都是一些框架,框架需要填充上具体的view才能组成我们的应用,移动应用开发中UI占了很大一部分,最基础的UI实现是使用系统提供的各种控件 ...
- iOS开发——UI基础-屏幕适配
一.适配 1.什么是适配?适应.兼容各种不同的情况 2.移动开发中,适配的常见种类 2.1系统适配 针对不同版本的操作系统进行适配 2.2屏幕适配 针对不同大小的屏幕尺寸进行适配 二.点和像素 1.在 ...
- iOS开发——UI基础-控制器,IBAction和IBOutlet,UIView
第一个ios程序 @interface ViewController : UIViewController @property(nonatomic, weak)IBOutlet UILabel *la ...
- IOS开发UI基础之Plis文件-字典转模型
什么是plist文件? 在开发中直接将数据写在代码里面 不是一种合理的做法 如果数据经常改变 就需要经常翻开对应的代码进行修改 造成代码扩展性低 因此,可以考虑将经常变的数据放在⽂文件中进⾏行存储,程 ...
- IOS开发UI基础之UIButton
什么是按钮?
- IOS开发UI基础UIView
主要介绍下UIView得基本概念和一些属性的介绍至于属性的用户后面会由详细的介绍 -.UIView基本概念 1.什么是控件? 屏幕上所有的UI元素都叫做控件 (也有很多书中叫做视图 组件) 比如 按钮 ...
随机推荐
- 斐波那契堆(三)之 Java的实现
概要 前面分别通过C和C++实现了斐波那契堆,本章给出斐波那契堆的Java版本.还是那句老话,三种实现的原理一样,择其一了解即可. 目录1. 斐波那契堆的介绍2. 斐波那契堆的基本操作3. 斐波那契堆 ...
- lettuce webdriver 自动化测试---玩转BDD
行为驱动开发(BDD),依然高大上的矗立在远方,很少被人问津,一方面是BDD的思想不太容易理解,别一方面BDD的资料并不多.中文的资料就更少了. 之前增写过一篇<python BDD 框架之le ...
- Cocos2d-x数据存储
分别是使用UserDefault,内置文件管理和sqlite3数据库的一般方式: 主要代码: bool DataScene::init(){ if (!Layer::init()){ return f ...
- 2014.7.12 敏捷个人奥森健步走&敏友分享会.活动报道
今天是个阳光明媚的日子,正式开起了敏捷个人2014年每月一次的健步走&读书分享活动. 周老师一大早8点就到了森林公园南门,一边看书一边等候敏友们的到来.时间走到了9点半,大家基本到齐了,我们准 ...
- 堆表和%%lockres%%函数
在今天的文章里,我想向你展示下SQL Server里一个未公开的函数,还有你如何用那个函数来找出在哪页记录被存储. %%lockres%% 今天我想向你展示的未公开函数叫做%%lockres%%,它与 ...
- Brute Force & STL --- UVA 146 ID Codes
ID Codes Problem's Link:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&a ...
- 用linux遇到的一个死循环
1. 公司的服务器centos,需要通过vpn拨上去: 2. 然后ftp启用了tls加密: 3. 然后ubuntu 12.04 上libgnutls的版本比较新,装的filezilla 3.5.3,怎 ...
- android 学习资料
Fragment 事件分发机制 事件分发机制2 NDK JNI ndk { moduleName "mymodule" ldLibs "log" stl &qu ...
- gene框架文档 - 路由类 gene_router
路由类 Gene\Router 介绍 Gene\Router 是gene框架的核心类之一,本框架区别于其他常见框架的最大地方就是独特.强大.简单的路由定义等.路由强大灵活,支持回调.类方法:支持res ...
- PHP学习笔记:用php读取xml文件
xml已经被json逐渐替代,现在用的api都是用貌似用的json,但是有些老的网站还是在用xml. 这里默认xml文件为:address.xml,存放在和读取的php文件相同级别目录,xml内容如下 ...