按钮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. CUBRID学习笔记 7 ms常见错误

    基本不是权限问题,就是dll问题.  重新下载或应用dll注意版本. 权限的问题,先本机测试. 看看在web管理有无问题.  剩下的基本就简单了 欢迎转载 ,转载时请保留作者信息.本文版权归本人所有, ...

  2. django(一)搭建开发环境

    本学习系列均使用centos7操作系统,基于python3进行操作.centos7下的python3安装配置http://www.cnblogs.com/Guido-admirers/p/625941 ...

  3. url 转码 urlencode和 urldecode

    参考网址http://www.t086.com/code/php/function.php-urlencode.php urlencode 将字符串以 URL 编码. 语法: string urlen ...

  4. iOS - OC NSCache 缓存

    前言 NSCache 是苹果提供的一个专门用来做缓存的类,当内存 "不足" 或超过限制的时候,会自动清理缓存,使用时可以指定缓存的数量和成本.用法与 NSMutableDictio ...

  5. [置顶] 将项目从tomcat 迁移到JBoss

    注:针对的是jboss5.0,其它版本没有测试过 ,主要参考了:http://www.diybl.com/course/3_program/java/javajs/20100719/460908.ht ...

  6. class&object

    类(class)是构造对象的模板或蓝图. 对象的行为是用可调用的方法定义的. import java.time.*; public class EmployeeTest{ public static ...

  7. [转载] C++ 多线程编程总结

    原文: http://www.cnblogs.com/zhiranok/archive/2012/05/13/cpp_multi_thread.html 在开发C++程序时,一般在吞吐量.并发.实时性 ...

  8. create table xxx as select 与 create table xxx like

    create table xxx )       | NO   | PRI | NULL    | auto_increment | | Name       | varchar() | NO   | ...

  9. mysql与mysqld

    mysql是客户机/服务器的结构. mysql是客户端行工具,连接mysqld服务,执行sql命令,可认为客户端sdk mysqld 启动mysql数据库服务. 脚本启动mysql服务的命令是 net ...

  10. html5移动端制作知识点总结

    一.测试工具:1.Chrome 2.Opera Mobile二.分辨率:一般现代手机最小320px,最大640px.三.全屏流体设计: 1.腾讯新闻:http://xw.qq.com/ 2.途牛旅游: ...