按钮UIButton是ios开发中最常见的控件之一,下面来介绍UIButton的详细内容:

一、UIButton的定义

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

能够定义的button类型有以下6种,

typedef enum {

  UIButtonTypeCustom = 0, 自定义风格

  UIButtonTypeRoundedRect, 圆角矩形

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

  UIButtonTypeInfoLight, 亮色感叹号

  UIButtonTypeInfoDark, 暗色感叹号

  UIButtonTypeContactAdd, 十字加号按钮

  } UIButtonType;

二、设置frame

button.frame = CGRectMake(0, 0, 100, 50);

 [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 为内部框架预留,可以不管

 };

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

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

 [buttonsetBackgroundImage:[UIImage imageNamed:@"checkmarkControllerIcon"]forState:UIControlStateNormal];

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

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

[buttonsetTitleColor:[UIColorredColor]forState:UIControlStateNormal];

七、设置按钮按下会发光

button.showsTouchWhenHighlighted=NO;

八、添加或删除事件处理

[button  addTarget:self action:@selector(buttonAction:) 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; // 标题间距

//初始化
myButton = [[UIButton alloc] initWithFrame:(CGRect){,,,}];
[self.view addSubview:myButton];
//背景颜色
myButton.backgroundColor = [UIColor blueColor];
//圆角
myButton.layer.cornerRadius = ;
myButton.layer.masksToBounds = YES;
//高亮
myButton.showsTouchWhenHighlighted = NO;
//设置图片,状态
[myButton setImage:[UIImage imageNamed:@"buttonImage"] forState:UIControlStateNormal];
[myButton setImage:[UIImage imageNamed:@"selectedImage"] forState:UIControlStateHighlighted];
//添加标题
[myButton setTitle:@"Button" forState:UIControlStateNormal];
//标题颜色
[myButton setTitleColor:[UIColor whiteColor] forState:UIControlStateNormal];
//点击事件
[myButton addTarget:self action:@selector(Action) forControlEvents:UIControlEventTouchUpInside];

ios基础篇(三)——UIButton的详细介绍的更多相关文章

  1. IOS基础学习-2: UIButton

    IOS基础学习-2: UIButton   UIButton是一个标准的UIControl控件,UIKit提供了一组控件:UISwitch开关.UIButton按钮.UISegmentedContro ...

  2. NIO相关基础篇三

    转载请注明原创出处,谢谢! 说在前面 上篇NIO相关基础篇二,主要介绍了文件锁.以及比较关键的Selector,本篇继续NIO相关话题内容,主要谈谈一些Linux 网络 I/O模型.零拷贝等一些内容, ...

  3. Hybrid APP基础篇(三)->Hybrid APP之Native和H5页面交互原理

    本文已经不维护,新地址: http://www.cnblogs.com/dailc/p/8097598.html 说明 Hybrid模式原生和H5交互原理 目录 前言 参考来源 前置技术要求 楔子 A ...

  4. docker+k8s基础篇三

    Docker+K8s基础篇(三) kubernetes上的资源 A:k8s上的常用资源 Pod的配置清单 A:Pod上的清单定义 B:Pod创建资源的方法 C:spec下其它字段的介绍 Pod的生命周 ...

  5. Python基础篇(三)_函数及代码复用

    Python基础篇_函数及代码复用 函数的定义.使用: 函数的定义:通过保留字def实现. 定义形式:def <函数名>(<参数列表>): <函数体> return ...

  6. ios基础篇(十二)——UINavgationController的使用(三)ToolBar

    UIToolBar存在于UINavigationController导航栏控制器中,而且默认被隐藏:设置UINavigationController的toolbarHidden属性可显示UIToolB ...

  7. ios基础篇(八)——UITabBarController的简单介绍

    一.简介 UITabBarController和UINavigationController类似,UITabBarController也可以轻松地管理多个控制器,轻松完成控制器之间的切换,典型的例子就 ...

  8. ios基础篇(五)——UITextField的详细使用

    UItextFieldField通常用于外部数据输入,以实现人机交互. 以下是UItextFieldField的属性及常见用法: 1.textField :设置文本框的默认文本. 2.Placehol ...

  9. 基础篇三:Nginx介绍

    Nginx是一个开源,高性能,可高的http中间件,代理服务 常见的中间件服务: httpd   apache基金会的产品 IIS       微软的产品 gws     google的产品 选择Ng ...

随机推荐

  1. 3.mybatis注解

    在上篇2.mybatis入门实例(一) 连接数据库进行查询的基础上 1.添加Mapper接口:UserMapper接口,并使用mybatis的注解 import java.util.List; imp ...

  2. hdu 5950 Recursive sequence 矩阵快速幂

    Recursive sequence Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/65536 K (Java/Other ...

  3. HTML笔记(七)head相关元素<base> & <meta>

    <head>元素是所有头部元素的容器. 可添加的标签有:<title>.<base>.<link>.<meta>.<script> ...

  4. 草珊瑚的css基础

    首先要了解如下概念: viewport,窗口大小,containing block,block formatting context,inline formatting context,dirctio ...

  5. HttpServletRequest学习

    package cn.request; import java.io.IOException; import java.io.PrintWriter; import java.io.Unsupport ...

  6. ZOJ-2362 Beloved Sons 最大权值匹配

    题意:国王有N个儿子,现在每个儿子结婚都能够获得一定的喜悦值,王子编号为1-N,有N个女孩的编号同样为1-N,每个王子心中都有心仪的女孩,现在问如果安排,能够使得题中给定的式子和最大. 分析:其实题目 ...

  7. Class create, device create, device create file (转)

    来自:http://www.hovercool.com/en/Class_create,_device_create,_device_create_file 开始写Linux设备驱动程序的时候,很多时 ...

  8. textarea还剩余字数统计

    <!DOCTYPE html><html><head> <meta charset="utf-8" /> <title> ...

  9. Android网络编程系列 一 TCP/IP协议族之传输层

    这篇借鉴的文章主要是用于后续文章知识点的扩散,在此特作备份和扩散学习交流. 传输层中有TCP协议与UDP协议. 1.UDP介绍 UDP是传输层协议,和TCP协议处于一个分层中,但是与TCP协议不同,U ...

  10. ttttttttttt

    http://www.2cto.com/kf/201606/519504.html http://a67474506.iteye.com/blog/2079590 spring boot: http: ...