UI基础2 UIview 父控件、子控件

UIview

  • 什么事控件

    • 屏幕上的所有UI元素都见做控件(也有叫做视图、组件)
    • 比如按钮(UIbutton)、文本(UIlabel)都是控件
  • 空间的共同属性有哪些

    • 尺寸
    • 位置
    • 背景色
      .....
  • 苹果将空间的共同属性都抽取到父类UIView中

    • 所有的空间最终都集成自UIView
    • UIButton、UIbabel都是继承自UIView(在头文件中可以看到)
    • command + 鼠标左键点击 类名 进入头文件查看

父控件、子控件

  • 每个控件都是个容器,能容纳其他控件
  • 内部小控件是大控件的子控件
  • 大控件是内部小控件的父控件
  • 每一个控制器(UIViewController)内部都有个默认的UIView属性
    • @property(nonatomic,retain) UIView *view;
    • 控制器中管理的其他所有控件都是这个view的子控件(直接或者间接)

UIView的常见属性

@property(nonatomic,readonly) UIView *superview;
   // 获得自己的父控件对象

@property(nonatomic,readonly,copy) NSArray *subviews;
  // 获得自己的所有子控件对象

@property(nonatomic) NSInteger tag;
  // 控件的ID(标识),父控件可以通过tag来找到对应的子控件

@property(nonatomic) CGAffineTransform transform;
  // 控件的形变属性(可以设置旋转角度、比例缩放、平移等属性)

(void)addSubview:(UIView *)view;
 // 添加一个子控件view

(void)removeFromSuperview;
 // 从父控件中移除

(UIView *)viewWithTag:(NSInteger)tag;
 // 根据一个tag标识找出对应的控件(一般都是子控件)

@property(nonatomic) CGRect frame;
  // 控件矩形框在父控件中的位置和尺寸(以父控件的左上角为坐标原点)

@property(nonatomic) CGRect bounds;
  // 控件矩形框的位置和尺寸(以自己左上角为坐标原点,所以bounds的x、y一般为0)

@property(nonatomic) CGPoint center;
  // 控件中点的位置(以父控件的左上角为坐标原点)

UIKit坐标系

  • 在UIKit中,坐标系的原点(0,0)在左上角,x值向右正向延伸,y值向下正向延伸
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 控件 控件:屏幕上的所有UI元素都叫做控件(视图、组件) 控件的共同属性(苹果将控件的共同属性都抽取到父类UIVi...
    彼岸的黑色曼陀罗阅读 490评论 0 0
  • UIView(控件) 功能一:界面显示1. 屏幕上显示的所有UI元素都叫做控件,也有人叫做视图、组件;按钮(UIB...
    翻这个墙阅读 743评论 0 0
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 15,219评论 4 61
  • 你永远不会知道一个沉默的人对你的喜欢,就像你永远也不知道窗边的植物怎样影响了你。 可能小时候,植物一直陪着...
    远方的雨季阅读 734评论 0 2
  • 代码交互中,如果声音在时间轴上是线性播放一般是正常的;如果有跳帧行为,则起始帧和目标帧之间的其他帧上如果有声音;即...
    飞翔的猎鹰阅读 857评论 0 0

友情链接更多精彩内容