UIButton--属性及用法

一、简单说明

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

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

二、按钮的三种状态

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

时间: 2024-12-25 23:59:50

UIButton--属性及用法的相关文章

简述UIButton的属性和用法

UIButton属性 1.UIButton状态: UIControlStateNormal          // 正常状态    UIControlStateHighlighted     // 高亮状态    UIControlStateDisabled        // 禁用状态     UIControlStateSelected        // 选中状态     UIControlStateApplication     //      UIControlStateReserve

IOS开发-UI学习-UITextField的具体属性及用法

直接上代码,里面有各种属性的用法注释,至于每个属性有多个可以设置的值,每个值的效果如何,可以通过查看这个函数参数的枚举量,并逐一测试. 1 //制作登陆界面 2 #import "ViewController.h" 3 4 @interface ViewController (){ 5 6 //定义全局变量(控件) 7 UITextField *username; 8 UITextField *password; 9 UIButton *resignbutton; 10 UIButto

XCODE UITextField 中的属性和用法

XCODE  UITextField  中的属性和用法 一些基本的用法 UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; CGRect frame =CGRectMake(110, 100, 100, 30); button.frame = frame; button.backgroundColor = [UIColor purpleColor]; [button setTitle:@"command&qu

CSS3的新增属性及其用法

CSS3的新增属性及其用法 现如今,随着 Web2.0 技术的流行,之前的 CSS2 标准和相关技术似乎已经满足不了日益增长的开发需求:人们需要实现更加美观.用户体验更好的界面.CSS3,这个新一代的标准应运而生.为了满足现有的对于 Web UI 的开发需求,它提供了一系列强大的功能,如许多新的 CSS 属性(文字,布局,颜色等等),各种 CSS 特效,甚至还支持 CSS 动画.元素的变换.这些 CSS 新特性在现阶段可以说都是非常强大和完善的,您只需要加入几行简单的 CSS 代码便可以实现出一

UIButton属性

UIButton属性 1.UIButton状态: UIControlStateNormal          // 正常状态 UIControlStateHighlighted     // 高亮状态 UIControlStateDisabled        // 禁用状态 UIControlStateSelected        // 选中状态 UIControlStateApplication     // UIControlStateReserved        // 保留状态 2.

简述UIView的属性和用法

1.alpha 设置视图的透明度.默认为1. // 完全透明 view.alpha = 0; // 不透明 view.alpha = 1; 2.clipsToBounds // 默认是NO,当设置为yes时,超出当前视图的尺寸的内容和子视图不会显示. view.clipsToBounds = YES; 3.hidden // 默认是NO,当设置为yes,视图就看不见了. view.hidden = YES; 4.userInteractionEnabled // 默认为YES,如果设置为No,v

CSS margin属性与用法教程

margin 属性是css用于在一个声明中设置所有 margin 属性的简写属性,margin是css控制块级元素之间的距离, 它们之间是透明不可见的. margin属性包含了margin left :距左元素块距离(设置距左内边距) :margin top:距头顶(上)元素块距离(设置距顶部元素块距离):margin right :距右元素块距离(设置距右元素块距) :margin bottom :底元素块距离(设置距低(下)元素块距).其二维构建图可见CSS属性二维图. margin的解剖图

EditText的一些属性及用法

EditText的一些属性及用法设置当EditText获得焦点时把文本框的内容全选中android:selectAllOnFocus="true"设置某个EditText默认获得焦点android:focusableInTouchMode="true"设置光标在EditText中的位置,默认是0,可根据自己的需要设置不同的值EditText edt;String text=edt.getText().toString;edt.setSelection(1); //光

自定义控件三部曲之动画篇(一)——alpha、scale、translate、rotate、set的xml属性及用法

前言:这几天做客户回访,感触很大,用户只要是留反馈信息,总是一种恨铁不成钢的心态,想用你的app,却是因为你的技术问题,让他们不得不放弃,而你一个回访电话却让他们尽释前嫌,当最后把手机号留给他们以便随时沟通的时候,总会发来一条条的鼓励短信,让我不自主的开始内疚.哎,多么可爱的用户,多么无耐的现实. 相关文章: <Android自定义控件三部曲文章索引>:http://blog.csdn.net/harvic880925/article/details/50995268 一.概述 Android

CSS vertical-align属性的用法

这两天写个页面css的时候用到了vertical-align属性,使用过程中踩到了坑,所以总结如下: vertical-align的定义 W3C上对vertical-align的定义:vertical-align 属性设置元素的垂直对齐方式.该属性定义行内元素的基线相对于该元素所在行的基线的垂直对齐.允许指定负长度值和百分比值.这会使元素降低而不是升高.在表单元格中,这个属性会设置单元格框中的单元格内容的对齐方式. 文本通常根据不可见的基线进行对齐的,而字母的底部位于基线之上.vertical-