博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
UIView的常见属性
阅读量:6454 次
发布时间:2019-06-23

本文共 2603 字,大约阅读时间需要 8 分钟。

hot3.png

//@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];

转载于:https://my.oschina.net/itcastBlogs/blog/660066

你可能感兴趣的文章
Quartz
查看>>
正则表达式介绍
查看>>
初识Scala反射
查看>>
第三十九天
查看>>
Redis详解
查看>>
4Sum——LeetCode
查看>>
论程序员加班的害处
查看>>
codeblocks快捷键
查看>>
基于HTML5的WebGL设计汉诺塔3D游戏
查看>>
WPF资料链接
查看>>
过滤DataTable表中的重复数据
查看>>
Oracle数据库-trunc函数的用法
查看>>
prepare for travel 旅行准备
查看>>
再次更新
查看>>
perl杂记
查看>>
go语言安装使用
查看>>
iOS开发代理(委托)模式详解
查看>>
微服务学习笔记二:Eureka服务注册发现
查看>>
C# 获取编码
查看>>
mysql的数据类型int、bigint、smallint 和 tinyint取值范围
查看>>