//@property(nonatomic,readonly) UIView *superview;
//得到本身的父控件对象ide
//@property(nonatomic,readonly,copy) NSArray *subviews;
得到本身的全部子控件对象布局
//@property(nonatomic) NSInteger tag;
//控件的ID\标识,父控件能够经过tag来找到对应的子控件atom
//@property(nonatomic) CGAffineTransform transform;
//控件的形变属性(能够设置旋转角度、比例缩放、平移等属性)orm
//@property(nonatomic) CGRect frame;
//控件所在矩形框在父控件中的位置和尺寸(以父控件的左上角为坐标原点)对象
//@property(nonatomic) CGRect bounds;
//控件所在矩形框的位置和尺寸(以本身左上角为坐标原点,因此bounds的x\y通常为0)开发
//@property(nonatomic) CGPoint center;
//控件中点的位置(以父控件的左上角为坐标原点)rem
//在UIKit中,坐标系的原点(0,0)在左上角,x值向右正向延伸,y值向下正向延伸get
//- (void)addSubview:(UIView *)view;
//添加一个子控件viewit
//- (void)removeFromSuperview;
//从父控件中移除io
//- (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];