IOS UIButton使用详解

第1、UIButton的定义app

 

    UIButton *button=[[UIButton buttonWithType:(UIButtonType);框架

可以定义的button类型有如下6种,
 typedef enum {
 UIButtonTypeCustom = 0, 自定义风格ide

 UIButtonTypeRoundedRect, 圆角矩形 atom

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

 UIButtonTypeInfoLight, 亮色感叹号
 UIButtonTypeInfoDark, 暗色感叹号
UIButtonTypeContactAdd, 十字加号按钮orm

 } UIButtonType;事件

第2、设置frame图片

button1.frame = CGRectMake(20, 20, 280, 40);rem

[button setFrame:CGRectMake(20,20,50,50)];get

第3、button背景色

button1.backgroundColor = [UIColor clearColor];

[button setBackgroundColor:[UIColor blueColor]];

第4、state状态

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

enum {
UIControlStateNormal = 0, 常规状态显现 
 UIControlStateHighlighted = 1 << 0, 高亮状态显现 
 UIControlStateDisabled = 1 << 1, 禁用的状态才会显现
 UIControlStateSelected = 1 << 2, 选中状态 
 UIControlStateApplication = 0x00FF0000, 当应用程序标志时 

 UIControlStateReserved = 0xFF000000 为内部框架预留,能够无论他 
};

 

@property(nonatomic,getter=isEnabled)BOOL enabled;                                 // default is YES. if NO, ignores touch events and subclasses may draw differently

@property(nonatomic,getter=isSelected)BOOL selected;                               // default is NO may be used by some subclasses or by application

@property(nonatomic,getter=isHighlighted)BOOL highlighted;                          

第五 、设置button填充图片和背景图片

 

    [buttonsetImage:[UIImageimageNamed:@"checkmarkControllerIcon"]forState:UIControlStateNormal];

    [buttonsetBackgroundImage:[UIImageimageNamed:@"checkmarkControllerIcon"]forState:UIControlStateNormal];

第6、设置button标题和标题颜色

[button1 setTitle:@"点击" forState:UIControlStateNormal];

 

  [buttonsetTitleColor:[UIColorredColor]forState:UIControlStateNormal];

第7、设置按钮按下会发光

    button.showsTouchWhenHighlighted=NO;

 

第8、添加或删除事件处理

[button1 addTarget:self action:@selector(butClick:) forControlEvents:UIControlEventTouchUpInside];

[btn removeTarget:nil action:nil forControlEvents:UIControlEventTouchUpInside];

第9、 设置按钮内部图片间距和标题间距

 UIEdgeInsets insets; // 设置按钮内部图片间距 insets.top = insets.bottom = insets.right = insets.left = 10; bt.contentEdgeInsets = insets; bt.titleEdgeInsets = insets; // 标题间距

相关文章
相关标签/搜索