目录
一、动态创建UI插件Demo(按钮篇)
二、Demo解析
三、UIButton控件介绍
1 . UI常用控件:
2 . UIButton属性介绍:
3 . CGRect、CGSize、CGPoint的介绍:
4.frame、center、bounds、tag、transform属性:
一、动态创建UI插件Demo(按钮篇)
- (void)ViewDidLoad()
{
[super ViewDidLoad];
//1.动态创建一个按钮
//UIButton *button = [[Button alloc] init];//常见类的对象的创建方式
UIButton *button = [UIButton buttonWithType:UIButonTypeCustom];
//2.在按钮上的默认状态、高亮状态设置文字及字体颜色
/******普通状态下(UIControlStateNormal)******/
[button setTitle:@"我是默认状态下的文字" forState:UIControlStateNormal];
[button setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
/******高亮状态下(UIControlStateHighlighted)******/
[button setTitle:@"我是高亮状态下的文字" forState:UIControlStateHighlighted];
[button setTitleColor:[UIColor buleColor] forState:UIControlStateHighlighted];
//3.为按钮在默认状态下、高亮状态下设置背景图片
UIImage *imageNormal = [UIImage imageNamed:@"图片名"];//这里放的是默认状态下的图片
UIImage *imageHighlighted = [UIImage imageNamed:@"图片名"];//这里放的是高亮状态下的图片
[button setbackgroundimage:imageNormal forState:UIControlStateNormal];
[button setbackgroundimage:imageHighlighted forState:UIControlStateHighlighted];
//4.设置按钮的frame
button.frame = CGRectMake(50,50,150,150);
//5.为按钮设置点击事件
[button addTarget:self action:@selector(ButtonClick)
forControlEvents:UIControlEventTouchUpInside];
//6.将创建好的按钮加载到控制器所管理的view中
[self.view addSubview:button];
}
- (void)ButtonClick
{
NSLog("点击了这个按钮");
}
二、Demo解析
步骤:1.先创建一个新的按钮控件(对象)
2.为按钮的默认状态和高亮状态设置文字
3.为按钮的默认状态和高亮状态设置文字颜色
4.为按钮设置frame(位置,大小)属性
5.为按钮设置一个点击事件
6.把按钮添加到控制器所管理的那个view中
三、UIButton控件介绍1 . UI常用控件:1 . UI常用控件
2 . UIButton属性介绍
3 . CGRect、CGSize、CGPoint的介绍
4 . frame、center、bounds、tag、transform属性
UIButton、UIImage、UILable、UITextFiled
2 . UIButton属性介绍:<1> UIButton就是一个按钮控件,它存在三个状态UIControlState(枚举常量)
UIControlStateNormal(默认状态) |
UIcontrolStateHighlighted(高亮状态) |
UIControlStateDisabled(不可点击状态) |
<2> UIButton按钮的样式:代码创建按钮的同时指定按钮的样式
eg:UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];//自定义状态
UIButtonTypeCustom |
UIButtonTypeDetailDisclosure |
UIButtonTypeInfoLight |
UIButtonTypeInfoDark |
UIButtonTypeContactAdd |
<3> UIControlEvents --- 点击事件
eg:UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];
[button addTarget:id action:SEL forControlEvents:UIControlEventTouchUpInside];//最常用的UIControlEventTouchUpInside
UIControlEventTouchDown |
UIControlEventTouchDownRepeat |
UIControlEventTouchDragInside |
UIControlEventTouchDragOutside |
UIControlEventTouchDragEnter |
UIControlEventTouchDragExit |
UIControlEventTouchUpInside |
UIControlEventTouchUpOutside |
UIControlEventTouchCancel |
UIControlEventValueChanged |
UIControlEventPrimaryActionTriggered |
UIControlEventEditingDidBegin |
UIControlEventEditingChanged |
UIControlEventEditingDidEnd |
UIControlEventEditingDidEndOnExit |
UIControlEventAllTouchEvents |
UIControlEventAllEditingEvents |
UIControlEventApplicationReserved |
UIControlEventSystemReserved |
UIControlEventAllEvents |
3 . CGRect、CGSize、CGPoint结构体的介绍
<1> 结构体的定义:
//CGPoint结构体
CGPoint{
CGFloat x;//横坐标
CGFloat y;//纵坐标
};
//CGSize结构体
CGSize{
CGFloat width;//宽度
CGFloat height;//高度
};
//CGRect结构体
CGRect
CGFloat original;//横坐标
CGFloat size;//纵坐标
};
<2> 结构体常见的创建方式
//CGPoint的创建和输出
CGPoint point = CGPointMake(10.0f,20.0f);
NSLog(@"Point = %@",NSStringFormCGPoint(point));
//CGSize的创建和输出
CGSize size = CGSizeMake(10.0f,20.0f);
NSLog(@"Size = %@",NSStringFormCGSize(size));
//CGRect的创建和输出
CGRect rect = CGRectMake(10,10,45,45);
NSLog(@"Rect = %@",NSStringFormCGRect(rect));
<3> 获取控制器各种尺寸的方法
CGRect rect1 = CGRectMake(point.x,point.y,size.width,size.height);
CGRect rect2 = CGRectMake(point.x,point.y,size.width,size.height);
//1.获取矩形最左边的x值
CGFloat CGRectGetMinx (CGRect rect);
//2.获取矩形中点的x值
CGFloat CGRectGetMidx (CGRect rect);
//3.获取矩形最右端的x值
CGFloat CGRectGetMaxx (CGRect rect);
//4.获取矩形最上端的y值
CGFloat CGRectGetMinY (CGRect rect);
//5.获取矩形最下端的y值
CGFloat CGRectGetMinY (CGRect rect);
//6.获取矩形宽度
CGFloat CGRectGetWidth (CGRect rect);、
//7.获取矩形宽高度
CGFloat CGRectGetHeight (CGRect rect);
//8.判断两点是否相等
BOOL CGRectEqualToPoint (CGRect point1,CGPoint point2);
//9.判断两个尺寸是否相等
BOOL CGRectEqualToSize (CGSize size1,CGSize size2);
//10.判断两个矩形是否相等
BOOL CGRectEqualToRect (CGRect rect1,CGRect rect2);
4 . frame、center、bounds、tag、transform属性
注意:OC语法规定:不允许直接修改对象的结构体属性的成员
<1> frame
-->是一个CGRect结构体类型
-->可用来修改一个控件的大小,位置
-->frame获取的x,y表示元素左上角的坐标
<2> center
-->是一个CGPoint结构体类型
-->只能用来修改一个控件的位置
-->center表示的是控件中心点的坐标
<3> bounds
-->是一个CGRect结构体类型
-->所以是CGRect结构体类型,但是只能用来修改控件大小(bounds中的x,y永远为0)
-->bounds以自己左上角为坐标原点定义控件所在矩形的位置和尺寸
<4> tag
-->用于标识控件
-->可以通过标识值来间接访问控件
<5> transform
-->全能
-->可以修改对象的平移,缩放比例和旋转角度
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)