//
//  ViewController.m
//  UIButtonDemo
//
//  Created by hehe on 15/9/15.
//  Copyright (c) 2015年 wang.hehe. All rights reserved.
//

#import "ViewController.h"

@interface ViewController ()

@end

@implementation ViewController

- (void)viewDidLoad {
    [super viewDidLoad];
    // Do any additional setup after loading the view, typically from a nib.
    
    //1.初始化2.设定坐标3.添加到父视图中4.设置属性
    UIButton *btn = [[UIButton alloc]init];
    btn.frame = CGRectMake(100, 200, 100, 50);
    [self.view addSubview:btn];
    //button有四种状态
    //1.正常状态,normal(enable)
    //2.高亮状态,highlight
    //3.选择状态,select
    //4.禁用状态,disable
    
    //设置文字(标题)
    //button上每种状态都可以设置文字。可以不设置,默认是
    //正常状态下的文字
    //设置正常状态下的文字
    [btn setTitle:@"1" forState:UIControlStateNormal];
    //[btn setTitle:@"高亮" forState:UIControlStateHighlighted];
    
    //设置选择状态下的文字
    [btn setTitle:@"选择" forState:UIControlStateSelected];
    [btn setTitleColor:[UIColor orangeColor] forState:UIControlStateSelected];
    //设置button为选择状态
    //btn.selected = YES;
    //设置禁用状态下的
    [btn setTitle:@"禁用" forState:UIControlStateDisabled];
    [btn setTitleColor:[UIColor greenColor] forState:UIControlStateDisabled];
    //btn.enabled = NO;
    //设置文字的颜色
    [btn setTitleColor:[UIColor blueColor] forState:UIControlStateNormal];
    [btn setTitleColor:[UIColor redColor] forState:UIControlStateHighlighted];
    //设置button背景颜色
    btn.backgroundColor = [UIColor grayColor];
    //button target-action机制
    [btn addTarget:self action:@selector(onClick:) forControlEvents:UIControlEventTouchDown];

//创建一个label对象
    UILabel *label = [[UILabel alloc]init];
    label.frame = CGRectMake(50, 50, 150, 50);
    [self.view addSubview:label];
    label.textAlignment = 1;
    label.font = [UIFont systemFontOfSize:30];
    //NSLog(@"%@",[UIFont familyNames]);
    //label.font = [UIFont fontWithName:@"Bodoni 72 Oldstyle" size:30];
    label.backgroundColor = [UIColor grayColor];
    label.adjustsFontSizeToFitWidth = YES;
    label.tag = 100;

//再创建一个button
    UIButton *btn1 = [[UIButton alloc]init];
    btn1.frame = CGRectMake(100, 300, 100, 50);
    [self.view addSubview:btn1];
    [btn1 setTitle:@"C" forState:UIControlStateNormal];
    //设置文字的颜色
    [btn1 setTitleColor:[UIColor blueColor] forState:UIControlStateNormal];
    [btn1 setTitleColor:[UIColor redColor] forState:UIControlStateHighlighted];
    //设置button背景颜色
    btn1.backgroundColor = [UIColor grayColor];
    //button target-action机制
    [btn1 addTarget:self action:@selector(offClick:) forControlEvents:UIControlEventTouchUpInside];

//图片有一个类UIImage
    UIImage *img1 = [UIImage imageNamed:@"1.png"];

//如果内存比较大,用下边方法来使用
    NSString *path = [[NSBundle mainBundle] pathForResource:@"2" ofType:@"png"];
    NSData *data = [NSData dataWithContentsOfFile:path];
    //把数据装换为UIImage对象
    UIImage *img2 = [UIImage imageWithData:data];
    
    
    //设置button图片
    [btn setImage:img1 forState:UIControlStateNormal];
    [btn setImage:img2 forState:UIControlStateHighlighted];
    
    [btn setBackgroundImage:[UIImage imageNamed:@"7.png"] forState:UIControlStateNormal];
    
    //系统button
    UIButton *sysbutton = [UIButton buttonWithType:UIButtonTypeInfoLight];
    sysbutton.frame = CGRectMake(50, 150, 60, 30);
    sysbutton.backgroundColor = [UIColor yellowColor];
    [self.view addSubview:sysbutton];
    
    
 
}

- (void)didReceiveMemoryWarning {
    [super didReceiveMemoryWarning];
    // Dispose of any resources that can be recreated.
}

#pragma mark -实现button的处理方法
- (void)onClick:(UIButton *)btm
{
    //先找到label
    UILabel *label = (id)[self.view viewWithTag:100];
    label.text = @"hello";
}

#pragma mark -实现button的处理方法
- (void)offClick:(UIButton *)btm
{
    //先找到label
    UILabel *label = (id)[self.view viewWithTag:100];
    label.text =nil;
 }

@end

button上加上图片的两种方式的更多相关文章

  1. jQuery 实现图片放大两种方式

    jQuery 实现图片放大两种方式 一.利用css样式表实现,多用于后台显示 1.这种比较简单,利用dom元素的hover实现样式切换 <style> img{ cursor: point ...

  2. 转载:删除github上文件夹的两种方式

    http://www.jianshu.com/p/286be61bb9b8 删除github上文件夹的两种方式(解决已经加入ignore的文件夹无法从远程仓库删除的问题) 如果此文件夹已被加入git追 ...

  3. Nodejs 传图片的两种方式

    node上传图片第一种方式 1,首先引入模块 "connect-multiparty": "~1.2.5", 在package.json中添加 "co ...

  4. UIImage加载本地图片的两种方式

    UIImage加载图片方式一般有两种: (1)imagedNamed初始化:默认加载图片成功后会内存中缓存图片,这个方法用一个指定的名字在系统缓存中查找并返回一个图片对象.如果缓存中没有找到相应的图片 ...

  5. UIImage创建图片的两种方式的区别

    在工作中经常会遇到添加图片,用哪种方式添加更好呢?请看详解 方法一: UIImage *image = [UIImage imageNamed:@"haha"]; 这种方法创建的图 ...

  6. android绘制圆形图片的两种方式

    看下效果先 下面有完整的示例代码 使用BitmapShader(着色器) 我们在绘制view 的时候 就是小学上美术课 用水彩笔在本子上画画 使用着色器绘制圆形图片最简单的理解方式 就是把bitmap ...

  7. Laravel 上使用 phpexcel的两种方式

    原创 2017年06月24日 20:24:31 1229 文章采集与网上 方式1.使用原生的phpexcel , http://blog.csdn.net/CSwfe/article/details/ ...

  8. Github 上传代码的两种方式

    上传本地代码/文件->Github 折腾了半天时间... Github前期准备部分 1)登录github,新建一个 repository 2)repository 命名 3)Github是一个托 ...

  9. Django上传文件的两种方式

    基于form表单上传文件 HTML <h3>基于form表单的上传文件</h3> <form action="" method="post& ...

随机推荐

  1. ADO.NET 快速入门(三):从存储过程获取输出参数

    一些存储过程通过参数返回值.当参数在SQL表达式或者存储过程中被定义为“输出”,参数值会返回给调用者.返回值存储在 OleDbCommand 或者 SqlCommand 对象的参数集合的参数里.   ...

  2. android常见错误--Unable to resolve target ‘android - 8’

    这是由于项目的android的版本没有设置好,解决方法如下: 1,clean项目 选择[project]-[clean] 选中需要进行clean的项目,点击[ok] 2,重新build 选择[proj ...

  3. codeforces Gym 100418D BOPC 打表找规律,求逆元

    BOPCTime Limit: 20 Sec Memory Limit: 256 MB 题目连接 http://acm.hust.edu.cn/vjudge/contest/view.action?c ...

  4. 用c#读取并分析sql2005日志

    用过logExplorer的朋友都会被他强悍的功能吸引,我写过一篇详细的操作文档可以参考http://blog.csdn.net/jinjazz/archive/2008/05/19/2459692. ...

  5. C# 利用范型与扩展方法重构代码

    在一些C#代码中常常可以看到 //An Simple Example By Ray Linn class CarCollection :ICollection { IList list; public ...

  6. jquery.validate.js使用id验证控件

    jquery.validate.js默认的是元素的name. 例如:<input name="username" id="username" size=& ...

  7. [Effective C++ --031]将文件间的编译依存关系降至最低

    引言:编译时间成本 在项目中我们都会碰到修改既存类的情况:某个class实现文件做了些轻微改变,修改的不是接口,而是实现,而且只改private成分. 重新build这个程序,并预计只花数秒就好,当按 ...

  8. 详解SQL Server连接(内连接、外连接、交叉连接)

    在查询多个表时,我们经常会用“连接查询”.连接是关系数据库模型的主要特点,也是它区别于其它类型数据库管理系统的一个标志. 什么是连接查询呢? 概念:根据两个表或多个表的列之间的关系,从这些表中查询数据 ...

  9. unity 4.x 从入门到精通(持续更新)

    为了做毕业设计开始学习unity 3d,但发现书中有很多错误,所以在这里将我遇到的一些错误及我的解决办法贴出来 1.414页 按照书中的方法设置后起点和终点之间没有连接关系路径的,需要在bake前设置 ...

  10. Helpers\Pagination

    Helpers\Pagination Break recordset into a series of pages. First create a new instance of the class ...