什么是UIView

  • UIView可以称之为控件/视图
  • 屏幕上所有能看到的东西都是UIView
  • 按钮(UIButton)、文本(UILabel)都是控件
  • 控件都有一些共同的属性

    -- 尺寸

    -- 位置

    -- 背景色......
  • 苹果将拥有共同属性的控件对象抽取出了UIView类,所有的控件均继承自UIView类

父控件与子控件

  • 每一个控件其实都是一个容器,可以将其他控件放到该控件的内部
  • 比如说将A控件放入B控件

    -- 那么A控件就是B控件的子控件,B控件是A控件的父控件
  • 每一个控制器都有一个UIView

    -- 控制器本身是不可见,能够看到的是控制器的View

    -- 每一个控制器中都一个UIVIew的属性,控制器中管理的所有子控件都是该UIView控件的子控件

UIView的常见属性与方法

  • 常见属性
@property(nonatomic,readonly) UIView *superview;
//获得自己的父控件对象
@property(nonatomic,readonly,copy) NSArray *subviews;
//获得自己的所有子控件对象
@property(nonatomic) CGAffineTransform transform;
//控件的形变属性(可以设置旋转角度、比例缩放、平移等属性)
@property(nonatomic) NSInteger tag;
//控件的ID(标识),父控件可以通过tag来找到对应的子控件
  • 常见方法
-(void)addSubview:(UIView *)view;
//添加一个子控件view
-(void)removeFromSuperview;
//将自己从父控件中移除
-(UIView *)viewWithTag:(NSInteger)tag;
//根据一个tag标识找出对应的控件(一般都是子控件)

UIKit坐标系

  • 在UIKit中,坐标系的原点(0,0)在左上角,x值向右正向延伸,y值向下正向延伸

  • UIView中与之相关的属性
@property(nonatomic) CGRect frame;
//控件矩形框在父控件中的位置和尺寸(以父控件的左上角为坐标原点)
@property(nonatomic) CGRect bounds;
//控件矩形框的位置和尺寸(以自己左上角为坐标原点,所以bounds的x、y一般为0)
@property(nonatomic) CGPoint center;
//控件中点的位置(以父控件的左上角为坐标原点)

UIView的概念与使用的更多相关文章

  1. IOS开发UI基础UIView

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

  2. [iOS基础控件 - 1] UI概念

    A. UIView 1.概念      属于UIKit框架      屏幕上能看得见摸得着的东西就是UIView,比如屏幕上的按钮.文字.图片      翻译为:视图/控件/组件      UIBut ...

  3. UIScreen(屏幕)、UIWindow(画框)、UIView(画布)、didFinishLaunchingWithOptions的概念

    //didFinishLaunchingWithOptions 方法:顾名思义.在app开始运行时会调用里面的方法.- (BOOL)application:(UIApplication *)appli ...

  4. UIView

    //command+R   运行 //command+.   停止 //command+B   预编译 //command+1.2.3  模拟器大小 //command+shift+h  home键 ...

  5. iOS中什么是superView?(新手概念简述版)

    文/司马陶冶(简书作者)/文章有删改原文链接:http://www.jianshu.com/p/8537dac37852 著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”. 在iPhone ...

  6. IOS UIView 04- 自定义控件

    注:本人是翻译过来,并且加上本人的一点见解. 前言 本文将讨论一些自定义视图.控件的诀窍和技巧.我们先概述一下 UIKit 向我们提供的控件,并介绍一些渲染技巧.随后我们会深入到视图和其所有者之间的通 ...

  7. IOS UIView 02- 深入理解 Scroll Views

    注:本人是翻译过来,并且加上本人的一点见解. 前言 可能你很难相信 UIScrollView 和一个标准的 UIView 差异并不大,scroll view 确实会多出一些方法,但这些方法只是和 UI ...

  8. iOS开发——UI精选OC篇&UIApplication,UIWindow,UIViewController,UIView(layer)简单介绍

    UIApplication,UIWindow,UIViewController,UIView(layer)简单介绍 一:UIApplication:单例(关于单例后面的文章中会详细介绍,你现在只要知道 ...

  9. iOS阶段学习第28天笔记(UIView的介绍)

    iOS学习(UI)知识点整理 一.关于UIVIew 的介绍 1)概念:UIView 是用于装载并展示各类控件的大容器,是iOS中所有UI控件的基类 2)UIView  初始化实例代码 UIView * ...

随机推荐

  1. 高效抽取loading,再多的载入页面也不怕

    当今的app基本上有两个操作,一个是载入数据 ,一个就是把数据显示到页面上.但假设页面特别的多.就每一个页面都要载入数据,就要写 loading 页面.我之前就是用dialog写,抽取出来一个类.哪里 ...

  2. Javascript属性constructor/prototype的底层原理

    在Javascript语言中,constructor属性是专门为function而设计的,它存在于每个function的prototype属性中. 这个constructor保存了指向function ...

  3. Ubuntu下编译Hello World驱动并运行全过程

    一般内核驱动都是在实体机上跑的,那有没有方法在ubuntu直接编译并运行呢?带着这个问题在网上查了一些资料,之后就实现了. 运行 hello.c   #include<linux/init.h& ...

  4. Unity3d 发动机原理详细介绍

    Unity3d 发动机原理详细介绍 www.MyException.Cn   发布于:2013-10-08 16:32:36   浏览:46次 0     Unity3d 引擎原理详细介绍 体系结构 ...

  5. Swing实现右下角消息框

    package com.ui; import java.awt.BorderLayout; import java.awt.Color; import java.awt.Dimension; impo ...

  6. Failed to read artifact descriptor for org.apache.httpcomponents:httpmime:jar

    额,在Stackoverflow上找到了一个答案: I had this in eclipse and did this which fixed it(even though my command l ...

  7. 可执行jar包

    我已经解决了这个问题,在eclipse中有一个打包工具,可以将程序打包成.jar文件: 右键要打包的 project--->Export--->Java--->JAR file--- ...

  8. VirtualBox + CentOS 虚拟机网卡配置

    摘要: 要学好Linux,还是得自己搭建虚拟机. VirtualBox比较小巧简单,容易上手.在配合CentOS 6.4使用时,首要的问题就是网卡配置,尤其是使用SSH终端仿真程序(例如SecureC ...

  9. Android Studio 中 Gradle 依赖的统一管理(rootProjectt)

    最近遇到Android Studio 中 Gradle 依赖的统一管理的不懂得地方,看大神的也没看懂,百度了一下,使用起来还挺方便 下面是链接,在这里我就不详细说明了, http://www.jian ...

  10. Python 字符串拼接、格式化输出、深浅复制

    拼接:"+"号(同类型可拼接) >>>li = [1,2] >>>li + li [1,2,1,2] >>>li*2 [1,2 ...