- (void)viewDidLoad {
[super viewDidLoad];
// 1.1 创建按钮对象
// UIButton *button = [[UIButton alloc] init];
// 注意:设置按钮的类型只能在初始化的时候设置 -> UIButtonTypeCustom
UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; // 1.2 设置按钮的类型
// button.buttonType = UIButtonTypeInfoDark; // 1.3 设置frame
button.frame = CGRectMake(, , , ); // 1.4 设置背景颜色
// button.backgroundColor = [UIColor redColor];
// [button setBackgroundColor:[UIColor redColor]]; // 1.5 设置文字
// 分状态的:
// button.titleLabel.text = @"普通文字";
[button setTitle:@"普通按钮" forState:UIControlStateNormal];
[button setTitle:@"高亮按钮" forState:UIControlStateHighlighted]; // 1.6 设置文字的颜色
[button setTitleColor:[UIColor greenColor] forState:UIControlStateNormal];
[button setTitleColor:[UIColor yellowColor] forState:UIControlStateHighlighted]; // 1.7 设置文字的阴影颜色
[button setTitleShadowColor:[UIColor blackColor] forState:UIControlStateNormal];
[button setTitleShadowColor:[UIColor whiteColor] forState:UIControlStateHighlighted]; button.titleLabel.shadowOffset = CGSizeMake(, ); // 1.8 设置内容图片
[button setImage:[UIImage imageNamed:@"player_btn_pause_normal"] forState:UIControlStateNormal];
[button setImage:[UIImage imageNamed:@"player_btn_pause_highlight"] forState:UIControlStateHighlighted]; // button.imageView.backgroundColor = [UIColor purpleColor]; // 1.9 设置背景图片
[button setBackgroundImage:[UIImage imageNamed:@"buttongreen"] forState:UIControlStateNormal];
[button setBackgroundImage:[UIImage imageNamed:@"buttongreen_highlighted"] forState:UIControlStateHighlighted]; // 2.0 加到控制器的view中
[self.view addSubview:button]; // 非常重要
/**
* 监听按钮的点击
* Target: 目标 (让谁做事情)
* action: 方法 (做什么事情-->方法)
* Events: 事件
*/
// SEL sel = @selector(clickButton:);
[button addTarget:self action:@selector(demo:) forControlEvents:UIControlEventTouchUpInside];
} - (void)demo:(UIButton *)btn{
NSLog(@"%@", btn);
}

UIButton(在代码中使用)的更多相关文章

  1. 在代码中使用Autolayout – intrinsicContentSize和Content Hugging Priority

    我们继续来看在代码中使用Autolayout的话题.先说intrinsicContentSize,也就是控件的内置大小.比如UILabel,UIButton等控件,他们都有自己的内置大小.控件的内置大 ...

  2. iOS: 在代码中使用Autolayout (2) – intrinsicContentSize和Content Hugging Priority【转】

    原文:http://www.mgenware.com/blog/?p=491 接上文:iOS: 在代码中使用Autolayout (1) – 按比例缩放和优先级. 我们继续来看在代码中使用Autola ...

  3. Python-Jenkins API使用 —— 在后端代码中操控Jenkins

    最近在工作中需要用到在后台代码中触发Jenkins任务的构建,于是想到Jenkins是否有一些已经封装好的API类库提供,用于处理跟Jenkins相关的操作.下面就简单介绍下我的发现. Linux C ...

  4. 在C#代码中应用Log4Net系列教程(附源代码)

    Log4Net应该可以说是DotNet中最流行的开源日志组件了.以前需要苦逼写的日志类,在Log4Net中简单地配置一下就搞定了.没用过Log4Net,真心不知道原来日志组件也可以做得这么灵活,当然这 ...

  5. “RazorEngine.Templating.TemplateCompilationException”类型的异常在 RazorEngine.NET4.0.dll 中发生,但未在用户代码中进行处理

    错误信息: "RazorEngine.Templating.TemplateCompilationException"类型的异常在 RazorEngine.NET4.0.dll 中 ...

  6. C#代码中实现两个表(DataTable)的关联查询(JOIN)

    之前通常都是使用SQL直接从数据库中取出表1和表2关联查询后的数据,只需要用一个JOIN就可以了,非常方便.近日遇到一种情况,两个表中的数据已经取到代码中,需要在代码中将这两个表关联起来,并得到它们横 ...

  7. 【转】代码中特殊的注释技术——TODO、FIXME和XXX的用处

    (转自:http://blog.csdn.net/reille/article/details/7161942) 作者:reille 本博客网址:http://blog.csdn.net/reille ...

  8. 在C#代码中应用Log4Net(二)典型的使用方式

    不管用什么框架,学什么东西,最初的想法还不是尽快地用上这个框架,所以我们在这个章节还是不打算介绍具体配置节的应用,而是直接给出一个经典的使用样例,让你尽快上手.即使你对Log4Net的配置不熟悉也完全 ...

  9. 在C#代码中应用Log4Net(三)Log4Net中配置文件的解释

    一个完整的配置文件的例子如下所示,这个是”在C#代码中应用Log4Net(二)”中使用的配置文件. <log4net> <!-- 错误日志类--> <logger nam ...

随机推荐

  1. 仿iOS底部弹出popUpWindow

    上面为弹出来的效果 popUpWindow布局: <?xml version="1.0" encoding="utf-8"?> <Linear ...

  2. jdbc连接集合

    JDBC里统一的使用方法:       Class.for(jdbcDriverName);     Connection conn=DriverManager.getConnection(url,u ...

  3. Animator角色重复受击播放问题

    需要指定开始时间参数,否则Animator会默认当前已经在播放这个动画而忽略掉 CrossFade一样 gif: public class AnimatorDebug : MonoBehaviour ...

  4. 测试-ConstantForce的驱动方式以及是否穿透

    当我把FixedUpdate更新频率设置为1秒一次,测试结果如下: 结论: 1.由物理更新驱动 2.不会产生穿透

  5. reactnativemodal

    'use strict'; var React = require('react-native'); var Modal = require('react-native-modal'); var { ...

  6. MVCAction接受与返回

    //Action方法接受有:如下四种: //Test(int id) 接受url路由中配置的同名参数 //通过request.Form/request.querystring 接受(get) //Te ...

  7. C# DataTable的详细用法

    在项目中经常用到DataTable,如果DataTable使用得当,不仅能使程序简洁实用,而且能够提高性能,达到事半功倍的效果,现对DataTable的使用技巧进行一下总结. 一.DataTable简 ...

  8. 分别向Set集合以及List集合中添加"A"、"a"、"c"、"C"、"a",观察重复值"a"能否添加成功

    package lianxi; import java.util.*; public class JhSet { public static void main(String[] args) { Se ...

  9. c++ socket 客户端库 socks5 客户端 RudeSocket™ Open Source C++ Socket Library

    介绍 一个c++ socket 客户端库 http://www.rudeserver.com/socket/index.html The RudeSocket™ Open Source C++ Soc ...

  10. SQL查看一张表中是否存在记录

    今天在QQ群众讨论到一个问题,记录下下来,一边以后用的时候可以翻阅 总结除了三种方法 --方法1,,这一种方法不行,,错误的认识了,@@ROWCOUNT,,,唉,,学艺不精,,丢人啊 SELECT T ...