可以通过代码的方式创建UIButton

通用实例化对象方法:
UIButton *button = [[UIButton alloc] initWithFrame:rect]; 快速实例化对象方法:
UIButton *button = [UIButton buttonWithType:UIButtonTypeRoundedRect]; 提示:
在OC开发中,实例化任何类型的非自定义对象,都请首先尝试一下是否存在快速定义方法。如果存在快速定义方法,
就尽量不要使用init之类的方法实例化对象!

UIButton的常用属性1——按钮类型

.    UIButtonTypeCustom
按钮的内容需要自定义
. UIButtonTypeRoundedRect
圆角矩形按钮
. UIButtonTypeDetailDisclosure
显示明细按钮
. UIButtonTypeInfoLight
亮色信息按钮,用于深色背景
. UIButtonTypeInfoDark
深色信息按钮,用户浅色背景
. UIButtonTypeContactAdd
添加按钮 说明:
前两种类型的按钮最常用
后四种类型的按钮设计,是为了保持用户统一的使用习惯

UIButton的常用属性2——按钮文字

正常状态下按钮文字
[button setTitle:@"按钮" forState:UIControlStateNormal];
长按按钮状态下的按钮文字
[button setTitle:@"有人摸我" forState:UIControlStateHighlighted]; 注意
在设置按钮文字时,需要指定文字对应的按钮状态

UIButton的常用属性3——按钮文字颜色

[button setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];

[button setTitleColor:[UIColor redColor] forState:UIControlStateHighlighted];

注意
在设置按钮文字颜色时,同样需要指定颜色应用的按钮状态

UIButton的常用属性4——按钮背景颜色

[button setBackgroundColor:[UIColor orangeColor]];

注意
在设置背景颜色时,按钮需要是自定义类型

UIButton的常用属性5——设置图片及背景图像

// 加载图像
UIImage *image = [UIImage imageNamed:@"sub_black_add.png"];
// 设置按钮图像
[button setImage:image forState:UIControlStateNormal];
// 设置按钮背景图像
[button setBackgroundImage:image forState:UIControlStateNormal]; 注意
背景图像会根据按钮的尺寸拉伸
按钮图像会居中显示在按钮中央位置
如果同时设置了按钮的图像和文字
按钮区域足够大,会并列显示图像和文字
如果区域不够大,优先显示图像

设置UIButton的监听器

// 设置按钮点击监听
[button addTarget:self action:@selector(tapButton) forControlEvents:UIControlEventTouchUpInside]; 注意
调用自定义方法需要使用@selector指令
注意void和IBAction的区别
按钮事件最多只可以带一个参数

UIButton的常用属性的更多相关文章

  1. UIButton常用属性小结(编辑中。。。)

    Button的功能很黄很暴力,即能显示文字,又能显示图片,还能随时调整内部图片和文字的位置,用的地方很多. (1)按钮常用的四种状态: normal(普通状态) 默认情况(Default) 对应的枚举 ...

  2. 【iOS】UIButton 常用属性

    发现 UIButton 的相关属性不熟悉了……常用的一些属性代码如下: UIButton *add = [UIButton buttonWithType:UIButtonTypeCustom]; ad ...

  3. 12-27 UITableView常用属性及方法

    UITableView也有自己的代理协议,它本身继承自UIScrollView 一:代理要遵守代理协议<UITableViewDelegate>,代理协议中的代理方法: 1.改变某一行的行 ...

  4. CoreAnimation 核心动画一 (一些常用属性 和 方法)

    1.常用属性: frame   bounds   center   alpha    Transition 过渡    transform 动画效果 2.常用方法: +(void)setAnimati ...

  5. iOS UIView控件的常用属性和方法的总结

    一 UIVIew 常见属性1.frame 位置和尺寸(以父控件的左上角为原点(0,0))2.center 中点 (以父控件的左上角为原点(0,0))3.bounds 位置和尺寸(以自己的左上角为原点 ...

  6. 【Android自学日记】五大布局常用属性

    线性布局(LinearLayout)常用属性: android:orientation="vertical"--决定子类控件的排布方式(vertical垂直:horizontal水 ...

  7. DataGrid中的常用属性

    DataGrid中的常用属性 $('#dg').datagrid({ url:'datagrid_data.json', columns:[[ {field:'code',title:'Code',w ...

  8. Node.js process 模块常用属性和方法

    Node.js是常用的Javascript运行环境,本文和大家发分享的主要是Node.js中process 模块的常用属性和方法,希望通过本文的分享,对大家学习Node.js http://www.m ...

  9. ImageView的常用属性

    ImageView的一些常用属性,并且这些属性都有与之对应的getter.setter方法: android:adjustViewBounds:设置ImageView是否调整自己的边界来保持所显示图片 ...

随机推荐

  1. nginx入门到精通目录

    1.nginx入门篇 nginx安装与基础配置 nginx优化配置分析与说明 nginx模块结构 2.nginx功能篇 配置nginx的gzip功能 配置nginx的rewrite功能 配置nginx ...

  2. [转]Could not load file or assembly 'System.Core, Version=2.0.5.0 和autofac冲突的问题

    Could not load file or assembly 'System.Core, Version=2.0.5.0 和autofac冲突的问题 来源:http://www.cnblogs.co ...

  3. 复制到剪贴板的JS实现--ZeroClipboard (兼解决IE下兼容问题)

    复制到剪贴板的JS实现--ZeroClipboard (兼解决IE下兼容问题) 相信绝大多数人都遇到过这样的功能实现,“复制”或者“复制到剪贴板”这样的功能.但是由于各大浏览器的实现方案不一样,导致几 ...

  4. ES6 Set和Map

    一.Set遍历方法: set.key() set.values() set.entries() 二.Set例子: var s = new Set(); var arr = [1,1,2,3,6,8,8 ...

  5. Eclipse下新建Maven项目、自动打依赖jar包

    当我们无法从本地仓库找到需要的构件的时候,就会从远程仓库下载构件至本地仓库.一般地,对于每个人来说,书房只有一个,但外面的书店有很多,类似第,对于Maven来说,每个用户只有一个本地仓库,但可以配置访 ...

  6. ruby中http请求方法整理

    #POST请求 请求包是json包 返回body并转换成json对象def post_json *args uri = URI.parse args[0] req = Net::HTTP::Post. ...

  7. 单例模式中的多线程分析synchronized

    谈到单例模式,我们立马会想到饿汉式和懒汉式加载,所谓饿汉式就是在创建类时就创建好了实例,懒汉式在获取实例时才去创建实例,即延迟加载. 饿汉式: 1 package com.bijian.study; ...

  8. 如何把项目部署到OSChina上

    1. 在苹果电脑终端   ls -la  查看当前目录所有的隐藏文件 2. 删除 .ssh文件  rm -rf .ssh 3.创建一个隐藏的文件  mkdir .ssh   在查看 4.进入 .ssh ...

  9. iOS 手写输入法奔溃,替换隐藏键盘方法

    {   UITapGestureRecognizer *tapGestureRecognizer = [[UITapGestureRecognizer alloc] initWithTarget:se ...

  10. cs11_c++_lab1

    lab1.cpp #include "Point.hh" #include <iostream> #include <cmath> using namesp ...