day1-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中,坐标系的原点(0,0)在左上角,x值向右正向延伸,y值向下正向延伸


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

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

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



//通过修改控件的frame属性就可以修改控件在屏幕上的位置和尺寸

//比如点击“向上”按钮,让按钮的y值减小即可
- (IBAction)top:(UIButton *)sender {
    CGRect btnFrame = self.headBtn.frame;
    btnFrame.origin.y -= 10;
    self.headBtn.frame = btnFrame;
}

//下面代码是错误的,OC语法规定:不允许直接修改对象的结构体属性的成员
self.headBtn.frame.origin.y -= 10;


//如果发现通过代码无法修改控件的位置或者尺寸时,应该去掉storyboard里面的autolayout功能,这是自iOS6开始出现的特性

//顾名思义,autolayout是用来自动布局的,用来束缚控件的位置和尺寸。去掉这个功能,控件的位置和尺寸就不再有一些固定的束缚。
  
Size Class  让你可以使用一个storyboard来满足所有的设备,它一般与Autolayout结合使用


在开发过程中,并不是每次都通过storyboard拖控件完成UI界面,因为storyboard上面的界面是“固定死”的,有时候可能会在程序运行过程中动态地添加一些新的控件到界面上
比如QQ的聊天信息,是有人发出一条信息后才动态显示出来的。因此,需要掌握如何用代码动态地添加控件
实际上,storyboard的本质就是根据图形界面描述转成相应的代码

下面演示用代码创建按钮

// 1.创建一个自定义的按钮
UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];

// 2.添加按钮
[self.view addSubview:btn];

// 3.设置按钮的位置和尺寸
btn.frame = CGRectMake(100, 100, 100, 100);

// 4.监听按钮点击(点击按钮后就会调用self的btnClick方法)
[btn addTarget:self action:@selector(btnClick) forControlEvents:UIControlEventTouchUpInside];


// 5.设置按钮在默认状态下的属性
// 5.1.默认状态的背景
[btn setBackgroundImage:[UIImage imageNamed:@"btn_01"] forState:UIControlStateNormal];
// 5.2.默认状态的文字
[btn setTitle:@"点我啊" forState:UIControlStateNormal];
// 5.3.默认状态的文字颜色
[btn setTitleColor:[UIColor redColor] forState:UIControlStateNormal];

// 6.设置按钮在高亮状态下的属性
// 6.1.高亮状态的背景
[btn setBackgroundImage:[UIImage imageNamed:@"btn_02"] forState:UIControlStateHighlighted];
// 6.2.高亮状态的文字
[btn setTitle:@"摸我干啥" forState:UIControlStateHighlighted];
// 6.3.高亮状态的文字颜色
[btn setTitleColor:[UIColor blueColor] forState:UIControlStateHighlighted];


// 创建一个自定义的按钮
UIButton *btn = [UIButton buttonWithType:UIButtonTypeCustom];
// 默认状态的背景
[btn setBackgroundImage:[UIImage imageNamed:@"btn_01"] forState:UIControlStateNormal];
// 默认状态的文字
[btn setTitle:@"点我啊" forState:UIControlStateNormal];
// 默认状态的文字颜色
[btn setTitleColor:[UIColor redColor] forState:UIControlStateNormal];


你可能感兴趣的:(day1-UIView的常见属性)