按钮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. Typescript的面向对象

    封装: var Greeter = (function () { function Greeter(message) { this.greeting = message; } Greeter.prot ...

  2. Scrum Meeting---Six(2015-11-1)

    说明 由于周五放假,我们团队部分队员回家和外出,所以这一次的Scrum Meeting我们推迟到周日晚上,在周末的这段时间内队员对自己做的任务在周日晚汇报给我. 周末完成任务以及周一计划任务 姓名 周 ...

  3. iOS - UIStoryboard

    前言 NS_CLASS_AVAILABLE_IOS(5_0) @interface UIStoryboard : NSObject @available(iOS 5.0, *) public clas ...

  4. Linux基础知识之—— nohup命令使程序在后台运行的方法

    在linux操作系统中从后台一直运行某个程序的方法,就是使用nohup命令了. 参照网址:http://www.jb51.net/LINUXjishu/189964.html

  5. Redis基础知识之——自定义封装单实例和普通类Redis

    一.普通Redis实例化类: class MyRedis { private $redis; public function __construct($host = '121.41.88.209', ...

  6. SDL2.0的SDL_Event事件处理

    SDL_Event事件集合 SDL_AudioDeviceEvent SDL_ControllerAxisEvent SDL_ControllerButtonEvent SDL_ControllerD ...

  7. 开机使用root用户登录

    有的fedora版本默认不支持开机以root用户登录,这是出于安全机制的考虑,可以通过设置实现开机root用户登录 步骤: 1.修改.etc/pam.d/gdm文件,注释掉auth  pam_succ ...

  8. phalcon: (非官方)简单的多模块

    phalcon: [非官方]多模块 配合router使用 例如:我的模块叫做: home 入口文件增加引入: use Phalcon\Mvc\Router; 在自动引入前面增加,自动引入命名空间: / ...

  9. libuv里的几个缺陷

    libuv是node.js使用的基础库,主要包括主循环,文件和网络接口.虽然libuv是为node.js而生的,但它本身是一个独立的库,加上使用简单方便,所以在node.js之外也有不少人使用.最近整 ...

  10. View绑定式监听器实现原理

    在我们开发android的时候,会经常重写自定义的View去满足一些需求 然后有时候view会提供一些回调,比如view某个部分被点击了,我们需要通知使用者然后再通过接口传一些参数过去. 对于我之前的 ...