博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

UIButton 详解

Posted on 2011-09-09 17:58  BradyChen  阅读(96670)  评论(1编辑  收藏  举报

转自: http://blog.csdn.net/jb80400812/article/details/6614184

创建UIButton

UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];

btn.frame = CGRectMake(30, 360, 90, 35);

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

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

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

//@selector可以理解为"选择子",selector是一个指针变量,类似于sender。 这里是将method的方法指定给新建的这个btn。

/*在 method 方法里可以将 sender 看作是 btn 了
比如设置btn的hidden属性等等
btn.hidden = YES;
这样btn被隐藏了

*/

[view addSubview:btn];
-(void)zoomInAction:(id)sender {
 
}





UIButton的

从UIControl继承:UIView的:UIResponder:NSObject的符合NSCoding NSCoding(UIView的)NSObject的(NSObject的)框架/系统/资源库/框架/ UIKit.framework在iPhone OS 2.0和更高的可用性。声明UIButton.h相关的代码示例配件BubbleLevel HeadsUpUI TheElements UICatalog


目录

[ 隐藏 ]
[ 编辑 ]

概述

UIButton的类是一个UIControl子类,它实现了在触摸屏上的按钮。触摸一个按钮拦截事件和动作消息发送到目标对象时,它的挖掘。设定的目标和行动方法都继承自UIControl。这个类提供了方法来设置标题,图像,按钮等外观属性。通过使用set方法,你可以指定一个不同的外观为每个按钮状态。

[ 编辑 ]

任务

创建按钮+ buttonWithType:配置按钮的标题

 ButtonType属性字体属性lineBreakMode财产titleShadowOffset财产reversesTitleShadowWhenHighlighted财产  

- setTitle:forState: - setTitleColor:forState: - setTitleShadowColor:forState: - titleColorForState: - titleForState: - titleShadowColorForState:配置按钮图像

 adjustsImageWhenHighlighted财产adjustsImageWhenDisabled财产showsTouchWhenHighlighted财产  

- backgroundImageForState: - imageForState: - setBackgroundImage:forState: - setImage:forState:配置边缘的Insets

 titleEdgeInsets财产imageEdgeInsets财产contentEdgeInsets财产  

获取当前状态

 currentTitle财产currentTitleColor财产currentTitleShadowColor财产currentImage财产currentBackgroundImage财产  

尺寸入门 - backgroundRectForBounds: - contentRectForBounds: - titleRectForContentRect: - imageRectForContentRect:

[ 编辑 ]

属性

Objective - C的属性,看到的Objective - C 2.0编程语言中的“属性”。

[ 编辑 ]

adjustsImageWhenDisabled

一个布尔值,决定是否形象的变化时,该按钮被禁用。

@属性(非原子)BOOL adjustsImageWhenDisabled讨论,如果是的话,图像绘制较深时,按钮被禁用。默认值是YES。

供货情况在iPhone OS 2.0和更高版本。另请参见

 @财产adjustsImageWhenHighlighted

在UIButton.h宣布相关的示例代码BubbleLevel

[ 编辑 ]

adjustsImageWhenHighlighted

一个布尔值,决定是否按钮时,突出显示图像的变化。

@属性(非原子)BOOL adjustsImageWhenHighlighted讨论,如果是,绘制图像较轻的按钮时,突出显示。默认值是YES。

供货情况在iPhone OS 2.0和更高版本。另请参见

 @财产adjustsImageWhenDisabled

在UIButton.h宣布相关的示例代码BubbleLevel

[ 编辑 ]

按钮类型

按钮类型。(只读)

@属性(非原子,只读)UIButtonType按钮类型的讨论,见UIButtonType的可能值。

供货情况在iPhone OS 2.0和更高版本。声明在UIButton.h

[ 编辑 ]

contentEdgeInsets

内容的插图或一开始就为每个边缘。

@属性(非原子)UIEdgeInsets contentEdgeInsets如果每条边的价值是积极的,指定的插图,否则,指定一开始。一个插图是周围绘制矩形的保证金;每边(左,右,顶部和底部),可以有不同的值。使用UIEdgeInsetsMake功能设置此属性。默认值是UIEdgeInsetsZero。

供货情况在iPhone OS 2.0和更高版本。另请参见

 _AT_财产imageEdgeInsets

宣布UIButton.h currentBackgroundImage按钮上显示当前的背景图像。(只读)

@属性(只读,非原子,保留)的UIImage * currentBackgroundImage讨论这个值可以为零。

供货情况在iPhone OS 2.0和更高版本。另请参见

 _AT_财产currentImage

声明在UIButton.h

[ 编辑 ]

currentImage

当前图像上显示的按钮。(只读)

@属性(只读,非原子,保留)的UIImage * currentImage讨论这个值可以为零。

供货情况在iPhone OS 2.0和更高版本。另请参见

 _AT_财产currentBackgroundImage

声明在UIButton.h

[ 编辑 ]

currentTitle

当前标题,按钮上显示的。(只读)

@属性(只读,非原子,保留)的NSString * currentTitle讨论这个值可能为零。

供货情况在iPhone OS 2.0和更高版本。另请参见

 @财产currentTitleColor财产currentTitleShadowColor

声明在UIButton.h

[ 编辑 ]

currentTitleColor

颜色用于显示标题。(只读)

@属性(只读,非原子,保留)UIColor * currentTitleColor讨论这个值是保证不会是零。默认值是白色。

供货情况在iPhone OS 2.0和更高版本。另请参见

 @财产currentTitle财产currentTitleShadowColor

声明在UIButton.h

[ 编辑 ]

currentTitleShadowColor

标题的阴影的颜色。(只读)

@属性(只读,非原子,保留)UIColor * currentTitleShadowColor讨论默认值是白色。

供货情况在iPhone OS 2.0和更高版本。另请参见

 @财产currentTitle财产currentTitleColor

声明在UIButton.h

[ 编辑 ]

字体

字体用来显示按钮上的文字。

@属性(非原子,保留)UIFont *字体的讨论,如果为零,使用系统字体。默认值是零。

供货情况在iPhone OS 2.0和更高版本。声明在UIButton.h

[ 编辑 ]

imageEdgeInsets

图像插图或一开始就为每个边缘。

@属性(非原子)UIEdgeInsets imageEdgeInsets如果每条边的价值是积极的,指定的插图,否则,指定一开始。一个插图是周围绘制矩形的保证金;每边(左,右,顶部和底部),可以有不同的值。使用UIEdgeInsetsMake功能设置此属性。默认值是UIEdgeInsetsZero。

供货情况在iPhone OS 2.0和更高版本。另请参见

 _AT_财产titleEdgeInsets

声明在UIButton.h

[ 编辑 ]

lineBreakMode

绘制文本时使用的换行模式。

属性(非原子)UILineBreakMode lineBreakMode讨论这个属性是UILineBreakMode描述的常量之一。默认值是UILineBreakModeMiddleTruncation。

供货情况在iPhone OS 2.0和更高版本。在UIButton.h声明reversesTitleShadowWhenHighlighted一个布尔值,决定是否按钮时,突出的标题阴影的变化。

如果有属性(非原子)BOOL reversesTitleShadowWhenHighlighted讨论,从雕刻的影子时,突出浮雕外观的变化。默认值是NO。

供货情况在iPhone OS 2.0和更高版本。声明在UIButton.h

[ 编辑 ]

showsTouchWhenHighlighted

一个布尔值,决定是否点击按钮会导致其发光。

@属性(非原子)BOOL showsTouchWhenHighlighted讨论,如果是的话,按钮发光时挖掘出来,否则,它不会。图像和按钮的行为是没有改变的辉光。默认值是NO。

供货情况在iPhone OS 2.0和更高版本。另请参见

 @财产adjustsImageWhenHighlighted

声明在UIButton.h

[ 编辑 ]

titleEdgeInsets

标题插图或一开始就为每个边缘。

@属性(非原子)UIEdgeInsets titleEdgeInsets如果每条边的价值是积极的,指定的插图,否则,指定一开始。一个插图是周围绘制矩形的保证金;每边(左,右,顶部和底部),可以有不同的值。使用UIEdgeInsetsMake功能设置此属性。默认值是UIEdgeInsetsZero。

供货情况在iPhone OS 2.0和更高版本。另请参见

 _AT_财产imageEdgeInsets

声明在UIButton.h

[ 编辑 ]

titleShadowOffset

用于显示接收的标题阴影的偏移。

属性(非原子)CGSize titleShadowOffset讨论的水平和垂直偏移值,使用CGSize数据类型的宽度和高度场指定的。正面的价值观总是向上延伸的权利,从用户的角度来看。默认值是CGSizeZero。

供货情况在iPhone OS 2.0和更高版本。宣布UIButton.h类方法

buttonWithType:创建并返回一个指定类型的新按钮。

+(ID)buttonWithType:(UIButtonType)按钮类型

[ 编辑 ]

参数

[ 编辑 ]

按钮类型

按钮类型。见的可能值UIButtonType。

返回值一个新创建的按钮。

供货情况在iPhone OS 2.0和更高版本。相关的示例代码配件BubbleLevel TheElements TouchCells UICatalog宣布UIButton.h实例方法

[ 编辑 ]

backgroundImageForState:

返回一个按钮的状态中使用的背景图像。

- (UIImage的*)backgroundImageForState:(UIControlState)状态

参数状态的状态使用的背景图像。可能的值是在UIControlState描述。

返回值用于指定的状态背景图像。

供货情况在iPhone OS 2.0和更高版本。又见 - setBackgroundImage:forState:UIButton.h声明

[ 编辑 ]

backgroundRectForBounds:

返回矩形的接收绘制其背景。

- (CGRect)backgroundRectForBounds:(CGRect)边界

参数范围接收器的边界矩形。

返回值的矩形接收机,绘制其背景。

供货情况在iPhone OS 2.0和更高版本。又见 - contentRectForBounds:UIButton.h声明

[ 编辑 ]

contentRectForBounds:

返回矩形的接收提请其全部内容。

- (CGRect)contentRectForBounds:(CGRect)边界

参数限定为接收器的边界矩形。

返回值的矩形接收提请其全部内容。

讨论内容的矩形来显示图像和标题对齐和其他设置,包括任何填充和调整所需的面积。

供货情况在iPhone OS 2.0和更高版本。 - titleRectForContentRect: - imageRectForContentRect: - backgroundRectForBounds:UIButton.h imageForState中声明:返回一个按钮的状态所使用的图像。

- (UIImage的*)imageForState:(UIControlState)状态

参数状态使用图像的状态。可能的值是在UIControlState描述。

返回值用于指定状态的图像。

供货情况在iPhone OS 2.0和更高版本。又见 - setImage:forState:UIButton.h imageRectForContentRect宣布:返回接收绘制其图像的矩形。

- (CGRect)imageRectForContentRect:(CGRect)contentRect

参数contentRect接收的内容矩形。

返回值接收绘制其图像的矩形。

供货情况在iPhone OS 2.0和更高版本。又见 - contentRectForBounds: - titleRectForContentRect:forState::UIButton.h setBackgroundImage宣布设置背景图像使用指定的按钮状态。

- (无效)setBackgroundImage:(UIImage的*)图像forState:(UIControlState)状态

参数图像背景图像使用指定的状态。

状态的状态使用指定的图像。在UIControlState值的描述。

在一般性讨论,如果没有一个国家指定一个属性,默认是使用UIControlStateNormal的价值。如果UIControlStateNormal值未设置,则属性默认为一个系统的价值。因此,至少,你应该设置为正常状态的价值。

供货情况在iPhone OS 2.0和更高版本。又见 - backgroundImageForState:相关示例代码配件BubbleLevel TheElements UICatalog UIButton.h setImage宣布:forState:设置图像使用指定的状态。

- (无效)setImage:(UIImage的*)图像forState:(UIControlState)状态

参数图像的图像使用指定的状态。

状态的状态使用指定的标题。在UIControlState值的描述。

在一般性讨论,如果没有一个国家指定一个属性,默认是使用UIControlStateNormal的价值。如果UIControlStateNormal值未设置,则属性默认为一个系统的价值。因此,至少,你应该设置为正常状态的价值。

供货情况在iPhone OS 2.0和更高版本。又见 - imageForState:forState::相关示例代码BubbleLevel在UIButton.h setTitle声明TouchCells设置标题使用指定的状态。

- (无效)setTitle是:(NSString的*)forState标题:(UIControlState)状态

参数标题标题使用指定的状态。

状态的状态使用指定的标题。在UIControlState值的描述。

在一般性讨论,如果没有一个国家指定一个属性,默认是使用UIControlStateNormal的价值。如果UIControlStateNormal价值不设置,则属性默认为系统值。因此,至少,你应该设置为正常状态的价值。

供货情况在iPhone OS 2.0和更高版本。又见 - titleForState:UIButton.h setTitleColor:forState相关的示例代码BubbleLevel UICatalog宣布:设置标题使用指定的状态的颜色。

- (无效)setTitleColor:(UIColor *)颜色forState:(UIControlState)状态

参数颜色的标题使用指定的状态的颜色。

状态的状态使用指定的颜色。在UIControlState值的描述。

在一般性讨论,如果没有一个国家指定一个属性,默认是使用UIControlStateNormal的价值。如果UIControlStateNormal值未设置,则属性默认为一个系统的价值。因此,至少,你应该设置为正常状态的价值。

供货情况在iPhone OS 2.0和更高版本。又见 - titleColorForState:UIButton.h setTitleShadowColor:forState相关的示例代码BubbleLevel UICatalog宣布:设置标题阴影的颜色,使用指定的状态。

- (无效)setTitleShadowColor:(UIColor *)颜色forState:(UIControlState)状态

参数颜色的标题阴影的颜色,使用指定的状态。

状态的状态使用指定的颜色。在UIControlState值的描述。

在一般性讨论,如果没有一个国家指定一个属性,默认是使用UIControlStateNormal的价值。如果UIControlStateNormal值未设置,则属性默认为一个系统的价值。因此,至少,你应该设置为正常状态的价值。

供货情况在iPhone OS 2.0和更高版本。又见 - titleShadowColorForState:UIButton.h titleColorForState宣布:返回一个国家使用的标题的颜色。

- (UIColor *)titleColorForState:(UIControlState)状态

参数状态的国家,使用的标题颜色。可能的值是在UIControlState描述。

返回值指定的状态标题的颜色。

供货情况在iPhone OS 2.0和更高版本。又见 - setTitleColor:forState:UIButton.h titleForState宣布:返回一个国家所使用的标题。

- (NSString的*)titleForState:(UIControlState)状态

参数状态的国家,使用的标题。可能的值是在UIControlState描述。

返回值指定的状态标题。

供货情况在iPhone OS 2.0和更高版本。又见 - setTitle:forState:UIButton.h titleRectForContentRect宣布:返回矩形的接收器绘制它的标题。

- (CGRect)titleRectForContentRect:(CGRect)contentRect

参数contentRect接收的内容矩形。

返回值的矩形接收器绘制它的标题。

供货情况在iPhone OS 2.0和更高版本。又见 - contentRectForBounds: - imageRectForContentRect:UIButton.h titleShadowColorForState宣布:返回的阴影颜色为国家所用的标题。

- (UIColor *)titleShadowColorForState:(UIControlState)状态

参数状态的国家,使用的标题阴影颜色。可能的值是在UIControlState描述。

返回值指定的状态标题的影子颜色。

供货情况在iPhone OS 2.0和更高版本。又见 - setTitleShadowColor:forState:UIButton.h常量声明

UIButtonType指定一个按钮的风格。

的typedef枚举{

UIButtonTypeCustom = 0,UIButtonTypeRoundedRect,UIButtonTypeDetailDisclosure,UIButtonTypeInfoLight,UIButtonTypeInfoDark,UIButtonTypeContactAdd

} UIButtonType;常量UIButtonTypeCustom无按钮的样式。

在iPhone OS 2.0及更高版本。

声明中UIButton.h。

UIButtonTypeRoundedRect一个圆角矩形样式的按钮。

在iPhone OS 2.0及更高版本。

声明中UIButton.h。

UIButtonTypeDetailDisclosure一个详细披露按钮。

在iPhone OS 2.0及更高版本。

声明中UIButton.h。

UIButtonTypeInfoLight一个信息按钮,有一个浅色背景。

在iPhone OS 2.0及更高版本。

声明中UIButton.h。

UIButtonTypeInfoDark一个信息按钮,有一个黑暗的背景。

在iPhone OS 2.0及更高版本。

声明中UIButton.h。

UIButtonTypeContactAdd一个联系人添加“按钮。

在iPhone OS 2.0及更高版本。

声明中UIButton.h。

供货情况在iPhone OS 2.0和更高版本。声明在UIButton.h