控件的常见属性

修改控件状态

  • 在程序运行过程中,我们经常要去修改(更新)UI控件的显示状态,比如:
  1. 文件下载过程中,实时更新下载进度

  1. 音乐播放过程中,实时更新播放进度

如何修改控件状态

  • 可见,确实需要经常修改控件状态
  • 那如何去修改控件的状态呢?方法很简单
  1. 每一个UI控件都是一个对象
  2. 修改UI控件的状态,其实就是修改控件对象的属性
  3. 比如修改UILabel显示的文字,就修改UILabel对象的text属性即可
  4. 比如修改UIImageView显示的图片,就修改UIImageView对象的image属性即可
  • 不难想到,每一个UI控件肯定都有很多属性,比如:
  1. UIProgressView进度条控件有progress属性(进度值)

  2. UILabel和UITextField都有text属性(显示文字)

  3. … …

  • 虽然,每一个UI控件都有自己的独特属性,但是有些属性是每个UI控件都具备的,比如每一个UI控件都有自己的位置和尺寸、都有自己的父控件、子控件。于是,所有的UI控件最终都继承自UIView,UI控件的公共属性都定义在UIView中,比如:
  1. frame :位置和尺寸

  2. center :中心点位置

  3. … …

UIView的常见属性

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

 

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

 

  • @property(nonatomic) NSInteger tag;

  • 控件的ID\标识,父控件可以通过tag来找到对应的子控件

 

  • @property(nonatomic) CGAffineTransform transform;

  • 控件的形变属性(可以设置旋转角度、比例缩放、平移等属性)

 

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

 

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

 

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

UIKit坐标系

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

UIView的常见方法

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

 

  1. - (void)removeFromSuperview;
  2. 从父控件中移除

 

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

 

posted on 2015-03-04 14:25  纯情的小公鸡  阅读(387)  评论(0编辑  收藏  举报