iOS开发-UIView

UIView

什么是UIView

  • UIVIew就是控件/视图
  • 用户在屏幕上看到的东西都是UIView
  • 它是所有控件的父类!!
    • 苹果将拥有共同属性的空间对象抽取出了UIView类,所有的控件继承自UIView

父控件(superview),子控件(subviews)

  • 每一个控件好比一个容器
    • 可以将其他的控件放到该控件的内部
      • 例如:将A控件放入B控件,那么B就是A控件的父控件,A就是B控件的子控件.(类似集合的包含,与被包含关系)
  • 每一个控制器都是一个UIView
    • 控制器本身不可见,可见的是控制器的View
  • 每一个控制器中都有一个UIView的属性

UIView的常见属性

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

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

- 控件的形变(旋转,平移,缩放等):
    @property (nonatomic)CGAffineTransform transform;

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

- 控制矩形框在父控件中的位置和尺寸(以父控件的左上角为原点):

    @property (nonatomic) CGRect frame;

- 控件矩形框的位置和尺寸(以自己的左上角的坐标为原点,所以一般bounds的x,y值是0)

    @property (nonatomic) CGRect bounds;

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

frame : 如果需要设置位置和尺寸,使用frame设置

center : 如果仅仅需要设置位置,直接使用center

bounds : 如果仅仅需要设置尺寸,直接使用bounds


UIView的常见方法

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

将自己从父控件中移除
    - (void)removeFromSuperview;

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

UIKit坐标系

  • 在UIKit中,坐标系的原点(0,0)在左上角,x向右正向延伸,y向下正向延伸
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容