内容大纲:(红色表示博主个人重点记忆)

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;
 12、常见错误:
 错误一:
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的更多相关文章

  1. iOS开发UI基础—手写控件,frame,center和bounds属性

    iOS开发UI基础—手写控件,frame,center和bounds属性 一.手写控件 1.手写控件的步骤 (1)使用相应的控件类创建控件对象 (2)设置该控件的各种属性 (3)添加控件到视图中 (4 ...

  2. IOS开发UI基础--数据刷新

    IOS开发UI基础--数据刷新 cell的数据刷新包括下面几个方面 加入数据 删除数据 更改数据 全局刷新方法(最经常使用) [self.tableView reloadData]; // 屏幕上的全 ...

  3. iOS开发-UI基础Demo

    现在更多的学习资料都是xCode4.X的,发现xCode6.1还是很多东西,如果有正在学习iOS开发的可以通过Demo简单了解下iOS的UI开发~ 1.新建单视图文件: 2.新建项目名称,语言选择OC ...

  4. iOS学习——UI基础UIButton(七)

    前面写了UIWindow.UIViewController,那些都是一些框架,框架需要填充上具体的view才能组成我们的应用,移动应用开发中UI占了很大一部分,最基础的UI实现是使用系统提供的各种控件 ...

  5. iOS开发——UI基础-屏幕适配

    一.适配 1.什么是适配?适应.兼容各种不同的情况 2.移动开发中,适配的常见种类 2.1系统适配 针对不同版本的操作系统进行适配 2.2屏幕适配 针对不同大小的屏幕尺寸进行适配 二.点和像素 1.在 ...

  6. iOS开发——UI基础-控制器,IBAction和IBOutlet,UIView

    第一个ios程序 @interface ViewController : UIViewController @property(nonatomic, weak)IBOutlet UILabel *la ...

  7. IOS开发UI基础之Plis文件-字典转模型

    什么是plist文件? 在开发中直接将数据写在代码里面 不是一种合理的做法 如果数据经常改变 就需要经常翻开对应的代码进行修改 造成代码扩展性低 因此,可以考虑将经常变的数据放在⽂文件中进⾏行存储,程 ...

  8. IOS开发UI基础之UIButton

    什么是按钮?

  9. IOS开发UI基础UIView

    主要介绍下UIView得基本概念和一些属性的介绍至于属性的用户后面会由详细的介绍 -.UIView基本概念 1.什么是控件? 屏幕上所有的UI元素都叫做控件 (也有很多书中叫做视图 组件) 比如 按钮 ...

随机推荐

  1. 斐波那契堆(三)之 Java的实现

    概要 前面分别通过C和C++实现了斐波那契堆,本章给出斐波那契堆的Java版本.还是那句老话,三种实现的原理一样,择其一了解即可. 目录1. 斐波那契堆的介绍2. 斐波那契堆的基本操作3. 斐波那契堆 ...

  2. lettuce webdriver 自动化测试---玩转BDD

    行为驱动开发(BDD),依然高大上的矗立在远方,很少被人问津,一方面是BDD的思想不太容易理解,别一方面BDD的资料并不多.中文的资料就更少了. 之前增写过一篇<python BDD 框架之le ...

  3. Cocos2d-x数据存储

    分别是使用UserDefault,内置文件管理和sqlite3数据库的一般方式: 主要代码: bool DataScene::init(){ if (!Layer::init()){ return f ...

  4. 2014.7.12 敏捷个人奥森健步走&敏友分享会.活动报道

    今天是个阳光明媚的日子,正式开起了敏捷个人2014年每月一次的健步走&读书分享活动. 周老师一大早8点就到了森林公园南门,一边看书一边等候敏友们的到来.时间走到了9点半,大家基本到齐了,我们准 ...

  5. 堆表和%%lockres%%函数

    在今天的文章里,我想向你展示下SQL Server里一个未公开的函数,还有你如何用那个函数来找出在哪页记录被存储. %%lockres%% 今天我想向你展示的未公开函数叫做%%lockres%%,它与 ...

  6. Brute Force & STL --- UVA 146 ID Codes

     ID Codes  Problem's Link:http://uva.onlinejudge.org/index.php?option=com_onlinejudge&Itemid=8&a ...

  7. 用linux遇到的一个死循环

    1. 公司的服务器centos,需要通过vpn拨上去: 2. 然后ftp启用了tls加密: 3. 然后ubuntu 12.04 上libgnutls的版本比较新,装的filezilla 3.5.3,怎 ...

  8. android 学习资料

    Fragment 事件分发机制 事件分发机制2 NDK JNI ndk { moduleName "mymodule" ldLibs "log" stl &qu ...

  9. gene框架文档 - 路由类 gene_router

    路由类 Gene\Router 介绍 Gene\Router 是gene框架的核心类之一,本框架区别于其他常见框架的最大地方就是独特.强大.简单的路由定义等.路由强大灵活,支持回调.类方法:支持res ...

  10. PHP学习笔记:用php读取xml文件

    xml已经被json逐渐替代,现在用的api都是用貌似用的json,但是有些老的网站还是在用xml. 这里默认xml文件为:address.xml,存放在和读取的php文件相同级别目录,xml内容如下 ...