iOS开发---->UI基础---->Objective-C

iOS开发---->UI基础---->Objective-C,第1张

目录

一、动态创建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常用控件

           2 . UIButton属性介绍

           3 . CGRect、CGSize、CGPoint的介绍

           4 . frame、center、bounds、tag、transform属性

1 . UI常用控件:

      UIButton、UIImage、UILable、UITextFiled

2 . UIButton属性介绍:

     <1> UIButton就是一个按钮控件,它存在三个状态UIControlState(枚举常量)

UIControlStateNormal(默认状态)
UIcontrolStateHighlighted(高亮状态)
UIControlStateDisabled(不可点击状态)

     <2> UIButton按钮的样式:代码创建按钮的同时指定按钮的样式

            eg:UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];//自定义状态

UIButtonType
UIButtonTypeCustom
UIButtonTypeDetailDisclosure
UIButtonTypeInfoLight
UIButtonTypeInfoDark
UIButtonTypeContactAdd

     <3> UIControlEvents --- 点击事件

            eg:UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom];

                 [button addTarget:id action:SEL forControlEvents:UIControlEventTouchUpInside];//最常用的UIControlEventTouchUpInside

UIControlEvents
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

            -->全能

            -->可以修改对象的平移,缩放比例和旋转角度

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/994390.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-21
下一篇 2022-05-21

发表评论

登录后才能评论

评论列表(0条)

保存