IOS UIButton使用详解

第一、UIButton的定义

 

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

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

 UIButtonTypeRoundedRect, 圆角矩形 

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

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

 } UIButtonType;

第二、设置frame

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

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

第三、button背景色

button1.backgroundColor = [UIColor clearColor];

[button setBackgroundColor:[UIColor blueColor]];

第四、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];

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

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

 

  [buttonsetTitleColor:[UIColorredColor]forState:UIControlStateNormal];

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

    button.showsTouchWhenHighlighted=NO;

 

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

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

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

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

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

时间: 2024-10-03 19:28:10

IOS UIButton使用详解的相关文章

iOS UIView动画详解(Objective-C)

    我在之前的一篇博客中<iOS UIView动画详解(Swift)>讲解了使用Swift来实现UIView类下面提供的多种动画效果,如位置动画.旋转动画.缩放动画.颜色动画.透明度动画等等.为了这个题目的完整性,今天我使用Objective-C来完全重写以上的所有的动画.项目案例已经上传至:https://github.com/chenyufeng1991/iOS-UIView-Animation  中的Animation-OC文件夹下,另一个目录下则是Swift实现的动画. (1)位置

IOS UITableViewCell使用详解

IOS中UITableViewCell使用详解 - (instancetype)initWithStyle:(UITableViewCellStyle)style reuseIdentifier:(NSString *)reuseIdentifier; Cell的初始化方法,可以设置一个风格和标识符,风格的枚举如下: ? 1 2 3 4 5 6 typedef NS_ENUM(NSInteger, UITableViewCellStyle) {     UITableViewCellStyleD

IOS 指纹识别详解及实例代码_IOS

IOS 指纹识别,这里整理下项目中用的知识. IOS 指纹识别现在,在要求安全与效率兼得的时候,普通密码已不能满足我们的要求,指纹识别就这样诞生了. 每个人都有自己专属的指纹,在需要支付等输入密码的地方,我们只需轻轻一按即可,避免了输入密码的繁琐步骤,更加安全,而且妈妈再也不用担心我们忘记密码. 其实,听着高大上,实现起来特别简单,因为苹果已经帮我们封装好了,我们只需要简单的调用就好了. 1.首先,我们需要导入头文件: #import <LocalAuthentication/LocalAuth

iOS开发笔记--详解UILabel的相关属性设置_IOS

在iOS编程中UILabel是一个常用的控件,下面分享一下UILabel的相关属性设置的方法. 很多学习iOS6编程都是从storyboard开始,用到UILabel时是将控件拖到storyboard中生成实现,如果想要在-(void)viewDidLoad中用代码如[_label initWithFrame:CGRectMake(X,Y,WIDTH,HEIGHT)]方法改变拖拽到storyboard的label的大小是行不通的,因为程序加载时先执行了-(void)viewDidLoad的代码,

IOS 多线程GCD详解_IOS

Grand Central Dispatch (GCD)是Apple开发的一个多核编程的解决方法. dispatch queue分成以下三种: 1)运行在主线程的Main queue,通过dispatch_get_main_queue获取. #definedispatch_get_main_queue() \DISPATCH_GLOBAL_OBJECT(dispatch_queue_t, _dispatch_main_q) 可以看出,dispatch_get_main_queue也是一种disp

IOS基础学习UIButton使用详解

  UIButton按钮是IOS开发中最常用的控件,作为IOS基础学习教程知识 ,初学者需要了解其基本定义和常用设置,以便在开发在熟练运用. 第一.UIButton的定义 UIButton *button=[[UIButton buttonWithType:(UIButtonType); 能够定义的button类型有以下6种, typedef enum { UIButtonTypeCustom = 0, 自定义风格 UIButtonTypeRoundedRect, 圆角矩形 UIButtonTy

iOS开发之详解正则表达式

  正则表达式(广为所知的"regex")是一个字符串或一个字符序列来说明一种模式,把它作为一个搜索字符串-非常强大! 在一个文本编辑器或文字处理器中普通的旧式搜索只允许你进行简单的匹配.正则表达式可以实现这样简单的搜索,它还能让你更进一步地按模式搜索,例如,在两个数字后跟一个字母,或者,三个字母后跟一个连字符. 这种模式匹配能让你做更有用的事,如验证字段(电话号码,邮箱地址),检查用户输入,执行更高级的文本操作等等. 如果你渴望了解更多关于正则表达式在iOS中的用法,看一些本教程之外

iOS之Block详解

一.Block定义 二.Block原理 ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 // main.m   int main(int argc, const char * argv[]) {     @autoreleasepool {           //        static int age = 20;         __block int age = 20;                   void (^blco

Cisco asa 5510升级IOS和ASDM详解

本文主要从技术层面向大家详细的介绍了如何去升级IOS和ASDM,并且文章给出了具体的配置过程,详细通过此文使你有意匪浅.show version 查看当前运行的系统信息,包括启动文件(即IOS)等show boot 查看当前的IOS信息show asdm image 查看当前运行的ASDM信息copy nvram:/filename tftp://ip/filename 用tftp协议进行文件传输boot system file 设置IOS启动文件asdm image file 设置asdm启动