码迷,mamicode.com
首页 > 其他好文 > 详细

UIButton--属性及用法

时间:2015-04-27 00:27:50      阅读:136      评论:0      收藏:0      [点我收藏+]

标签:

 

    一、简单说明

    一般情况下,点击某个控件后,会做出相应反应的都是按钮

    按钮的功能比较多, 既能显示文字,又能显示图片 ,还能随时调整内部图片和文字的位置

    二、按钮的三种状态

    normal (普通状态)

    默认情况( Default )

    对应的枚举常量: UIControlStateNormal

    highlighted (高亮状态)

    按钮被按下去的时候(手指还未松开)

    对应的枚举常量: UIControlStateHighlighted

    disabled (失效状态,不可用状态)

    如果 enabled 属性为 NO ,就是处于 disable 状态,代表按钮不可以被点击

    对应的枚举常量: UIControlStateDisabled

    三、 注意点

    (1) 从Xcode5开始,图片资源都放到Images.xcassets中进行管理,可以使用拖拽的方式添加项目中用到的图片到Images.xcassets中

    (2)若干多个控件共用一段代码,通常使用tag。

    

    

    // 初始化按钮并设置类型

    UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];

    

    // 能够定义的UIButton类型有以下6种:

    //    typedef enum {

    //        UIButtonTypeCustom = 0,          自定义风格

    //        UIButtonTypeRoundedRect,         圆角矩形

    //        UIButtonTypeDetailDisclosure,    蓝色小箭头按钮,主要做详细说明用

    //        UIButtonTypeInfoLight,           亮色感叹号

    //        UIButtonTypeInfoDark,            暗色感叹号

    //        UIButtonTypeContactAdd,          十字加号按钮

    //    } UIButtonType;

    

    // 设置按钮大小和位置

    btn.frame = CGRectMake(20, 360, 280, 45);

    // 设置按钮背景颜色

    btn.backgroundColor = [UIColor colorWithRed:254/255.0f green:254/255.0f blue:254/255.0f alpha:1.0f];

    [btn seBackgroundColor: [UIColor blueColor]];

 

    // 设置按钮文字

    [btn setTitle:@"Normal" forState:UIControlStateNormal];

    [btn setTitle:@"Pressed" forState:UIControlStateHighlighted];

    

    // forState这个参数的作用是定义按钮的文字或图片在何种状态下才会显现,以下是几种状态:

    //    enum {

    //        UIControlStateNormal       = 0,           常规状态显现

    //        UIControlStateHighlighted  = 1 << 0,      高亮状态显现

    //        UIControlStateDisabled     = 1 << 1,      禁用的状态才会显现

    //        UIControlStateSelected     = 1 << 2,      选中状态

    //        UIControlStateApplication  = 0x00FF0000,  当应用程序标志时

    //        UIControlStateReserved     = 0xFF000000   为内部框架预留,可以不管他

    //    };

    

    

    // 设置按钮位置及大小

    btn.frame = CGRectMake(x, y, width, height);

    // 设置按钮文本

    btn.text = @"按钮文本";

    //设置按钮上的自体的大小

    [btn setFont: [UIFont systemFontSize: 14.0]];    //这种可以用来设置字体的大小,但是可能会在将来的SDK版本中去除改方法

    //应该使用

    btn.titleLabel.font = [UIFont systemFontOfSize: 14.0];

    

    // 给按钮添加标题文本

    [btn setTitle: @"search" forState: UIControlStateNormal];

    // 设置按钮文字颜色

    [btn setTitleColor:[UIColor redColor] forState:UIControlStateNormal];

    // 设置按钮文字字体

    [btn.titleLabel setFont:[UIFont systemFontOfSize:17]];

    [btn.layer setMasksToBounds:YES];

    // 设置按钮四个圆角半径

    [btn.layer setCornerRadius:4.0];

    // 设置按钮边框宽度

    [btn.layer setBorderWidth:0.5];

    // 设置按钮边框颜色

    CGColorRef colorref = CGColorCreate(CGColorSpaceCreateDeviceRGB(),(CGFloat[]){168/255.0f, 168/255.0f, 168/255.0f, 1.0});

    [btn.layer setBorderColor:colorref];

    // 去除按钮在叠加视图中的按下延迟

    tableView.delaysContentTouches = NO;

    // 添加点击事件

    [btn addTarget:self action:@selector(btnAction:) forControlEvents:UIControlEventTouchUpInside];

    

    // 在视图中显示按钮

    [tableView addSubview:btn];

    

}

// 按钮点击事件

- (void)btnAction:(id)sender

{

    // do something

}

 

 

==========================================================

tvnamelabel=[[UIButton alloc]initWithFrame:CGRectMake(5,5,200,40)];

这样初始化的button,文字默认颜色是白色的,所有如果背景也是白色的话,是看不到文字的,

btn.contentHorizontalAlignment=UIControlContentHorizontalAlignmentLeft ;//设置文字位置,现设为居左,默认的是居中

[btn setTitle:@“title”forState:UIControlStateNormal];// 添加文字

有些时候我们想让UIButton的title居左对齐,我们设置

btn.textLabel.textAlignment = UITextAlignmentLeft

是没有作用的,我们需要设置

btn.contentHorizontalAlignment = UIControlContentHorizonAlignmentLeft;

但是问题又出来,此时文字会紧贴到做边框,我们可以设置

btn.contentEdgeInsets = UIEdgeInsetsMake(0,10, 0, 0);

使文字距离做边框保持10个像素的距离。

 

========================================

在OC中,不允许直接修改“对象”的“结构体属性”的“成员”,但是允许修改“对象”的“结构体属性”

修改结构体属性的成员方法如下:

1> 使用临时变量记录对象的结构体属性

2> 修改临时变量的属性

3> 将临时变量重新设置给对象的结构体属性

3. 在程序开发中需要避免出现魔法数字(Magic Number)

========================================

使用枚举类型,可以避免在程序中出现魔法数字

1> 枚举类型实质上就是一个整数,其作用就是用来替代魔法数字

2> 枚举类型中,指定了第一个整数之后,后面的数字会递增

4. frame & bounds & center

 

UIButton--属性及用法

标签:

原文地址:http://www.cnblogs.com/WillingToAsk1946zzh/p/4458701.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!