UIView
•什么是控件?
-屏幕上的所有UI元素都叫做控件,也有人叫做视图、组件
-按钮(UIButton)、文本(UILabel)都是控件
•控件的共同属性有哪些?
-尺寸
-位置
-背景色
-......
-
•苹果将控件的共同属性都抽取到父类UIView中
-所有的控件最终都继承自UIView
-UIButton、UILabel都是继承自UIView(可以查看头文件)
父控件与子控件
•每个控件都是个容器,能容纳其他控件
-
•内部小控件是大控件的子控件
•大控件是内部小控件的父控件
•每一个控制器(UIViewController)内部都有个默认的UIView属性
-@property(nonatomic,retain) UIView *view;
-控制器中管理的其他所有控件都是这个view的子控件(直接或者间接)
UIView的常见方法
•- (void)addSubview:(UIView *)view;
Ø 添加一个子控件view
Ø
•- (void)removeFromSuperview;
Ø 从父控件中移除
•- (UIView *)viewWithTag:(NSInteger)tag;
Ø 根据一个tag标识找出对应的控件(一般都是子控件)
UIView的常见属性
•@property(nonatomic) CGRect frame;
Ø 控件矩形框在父控件中的位置和尺寸(以父控件的左上角为坐标原点)
•@property(nonatomic) CGRect bounds;
Ø 控件矩形框的位置和尺寸(以自己左上角为坐标原点,所以bounds的x、y一般为0)
n
•@property(nonatomic) CGPoint center;
Ø 控件中点的位置(以父控件的左上角为坐标原点)
UIKit坐标系
•在UIKit中,坐标系的原点(0,0)在左上角,x值向右正向延伸,y值向下正向延伸

官方文档

控制器和视图的关系:

  1. ViewController(视图控制器)最重要的作用是管理视图的层次结构
  2. 每一个视图控制器都有一个单一的根视图,该根视图用来显示控制器内容
  3. 视图控制器都强引用着根视图,并且每一个父视图都强引用着子视图
  4. 视图控制器中的的所有视图都是通过根视图进行管理

转载于:https://www.cnblogs.com/520it-/p/5008582.html

UIView 的基础相关推荐

  1. UIViewController与UIView的关系

    haoxue 2010-11-21 21:30 iphone--UIViewController与UIView的关系 UIView翻转效果实现 新建一个view-based模板工程,在ViewCont ...

  2. iOS开发系列--让你的应用“动”起来

    概览 在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌.在这里你可以看到iOS中如何使用图层精简非交互式绘图,如何通过核心动画创建基础动画.关键帧动画 ...

  3. UILabel-UITextField-UIBottonamp;nbsp;UI_…

    注意:AppDelegate是类,所以self在这个类中指的就是AppDelegate对象 - (BOOL)application:(UIApplication *)application didFi ...

  4. iOS开发之让你的应用“动”起来转写

    在iOS中随处都可以看到绚丽的动画效果,实现这些动画的过程并不复杂,今天将带大家一窥iOS动画全貌.在这里你可以看到iOS中如何使用图层精简非交互式绘图,如何通过核心动画创建基础动画.关键帧动画.动画 ...

  5. iOS开发-关于自定义控件很值得一看的文章( 三)

    2019独角兽企业重金招聘Python工程师标准>>> 触摸响应链UIResponder UIView继承自UIResponder(响应链类),继承了相应的响应链方法: - (voi ...

  6. UIScrollerView当前显示3张图

    代码地址如下: http://www.demodashi.com/demo/11173.html WSLScrollView 功能描述:这是在继承UIView的基础上利用UIScrollerView进 ...

  7. iOS AVPlayer视频播放器

    代码地址如下: http://www.demodashi.com/demo/11168.html 一.运行效果 二.实现过程 ①.创建播放器avPlayer //创建播放器url = [url str ...

  8. 深入理解Auto Layout 第一弹

    form:https://zhangbuhuai.com/auto-layout-part-1/ By 张不坏 2015-07-16 更新日期:2015-07-17 文章目录 1. 写在前面 2. i ...

  9. 互动教程 for Xcode10 and Swift4.2

    ◈ 不看视频不看书,史上最好玩的Xcode 10.0教程 ◈ 利用手指来互动式学习Xcode 10.0 ◈ 单击.双击.长按.拖动及Xcode各种快捷键,就像您在真正的Xcode上操作一样 ◈ 比观看 ...

最新文章

  1. c语言英汉互译编程,用C语言编辑简单英汉互译词典.doc
  2. PocoMaker(魅客)
  3. 【转】学习asp.net比较完整的流程
  4. mysql启动错误排查-无法申请足够内存
  5. npm run build 报错 versionRequirement: packageConfig.engines.node 'node' of undefined
  6. 钉钉老版本下载3.31_钉钉3.3.1老版本官方下载-钉钉3.3.1旧版本PC版官方版-东坡下载...
  7. Java 泛型(1):基本原理
  8. ibm服务器更换主板怎么恢复系统,记号一次更换IBM X3650M4主板后RAID无法启动的解决...
  9. AD维护管理工具详解(一)dcdiag
  10. C语言如何实现模拟栈
  11. mysql setautocommit_MySql 中的setAutoCommit方法
  12. 在csdn平台写博客时,如何插入图片
  13. spring cloud SnakeYAML RCE 漏洞复现
  14. python 四舍五入到整数_python “四舍五入”
  15. 2021鹏业安装算量软件常见问题整理(十三)
  16. 图新地球 “请选择目标图层后再下载”
  17. Unity优化篇——mesh合并
  18. 阿里云的这群疯子- 文/史中
  19. 【IDEA】idea 调试技巧 异常断点 断点之前显示异常字段
  20. 基于Vue 全家桶实现网易云音乐 WebApp

热门文章

  1. python class函数报错_Python multiprocess pool模块报错pickling error问题解决方法分析
  2. 最长等差数列_最长等差数列分析
  3. 好分数阅卷3.0_自考通过率低?一位资深阅卷老师的自述
  4. 【收集】11款Linux数据恢复工具
  5. 4个优化MongoDB的技巧
  6. ux和ui_从UI切换到UX设计
  7. 三年经验前端社招——慧择网
  8. 前端抢饭碗系列之Vue项目如何做单元测试
  9. Flutter开发之环境搭建
  10. 用区块链打击假新闻 这可能是最2017年的一件事