IOS-UI基础-UIView和UIViewController

UIView 是一个容器, 可以添加别的控件

view A 添加到 view B 上, A 是 B 的子view , B 是 A 的父view

每一个viewController 里 都会默认有一个view 属性 

控制器用来管理view的生命周期 : 什么时候创建, 什么时候销毁

控制器用来处理用户交互事件 (逻辑代码要写在控制器里)

第一响应者: UITextField, 成为第一响应者 自动弹出键盘

回退键盘

撤销第一响应者身份

[self.firstField resignFirstResponder];

调用view的endEditing: 

[self.view endEditing:YES];

问题列表

1. 什么是 IBAction IBOutlet

IBOutlet 用来连线 属性

IBAction 用来连线 方法 , 有void

2. 为什么要把属性放到类扩展中

为了安全和封装

3. 为什么要使用weak属性修饰

苹果官方推荐

如果使用了strong 也是可以正常运行的

连线介绍

button 在使用连线 关联 点击方法的时候 , 如果要传递参数只能是button自己

type 

id 默认

UIButton * 进行选择

reason: '[<ViewController 0x7f8aa071dc50> setValue:forUndefinedKey:]: this class is not key value coding-compliant for the key tempButton.'

连线之后, 把属性给删除掉, 但是, 没有在sb 中把连线给取消掉

reason: '-[ViewController clickButton2:]: unrecognized selector sent to instance 0x7fbb8b925220'

给按钮关联过方法之后, 把方法给删除掉了, 没有在sb 中把连线给取消掉

一个view 可以有多个子view

一个子view 只能有一个父view

UIView的常用属性

subViews  查看view 的 子 view 

superView 查看view 的 父 view 

removeFromSuperview : 从 父 view 中删除 子 view 

addSubview :  为 view 添加  子 view

原文地址:https://www.cnblogs.com/DreamLinku/p/5389325.html