button上加上图片的两种方式
//
// 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上加上图片的两种方式的更多相关文章
- jQuery 实现图片放大两种方式
jQuery 实现图片放大两种方式 一.利用css样式表实现,多用于后台显示 1.这种比较简单,利用dom元素的hover实现样式切换 <style> img{ cursor: point ...
- 转载:删除github上文件夹的两种方式
http://www.jianshu.com/p/286be61bb9b8 删除github上文件夹的两种方式(解决已经加入ignore的文件夹无法从远程仓库删除的问题) 如果此文件夹已被加入git追 ...
- Nodejs 传图片的两种方式
node上传图片第一种方式 1,首先引入模块 "connect-multiparty": "~1.2.5", 在package.json中添加 "co ...
- UIImage加载本地图片的两种方式
UIImage加载图片方式一般有两种: (1)imagedNamed初始化:默认加载图片成功后会内存中缓存图片,这个方法用一个指定的名字在系统缓存中查找并返回一个图片对象.如果缓存中没有找到相应的图片 ...
- UIImage创建图片的两种方式的区别
在工作中经常会遇到添加图片,用哪种方式添加更好呢?请看详解 方法一: UIImage *image = [UIImage imageNamed:@"haha"]; 这种方法创建的图 ...
- android绘制圆形图片的两种方式
看下效果先 下面有完整的示例代码 使用BitmapShader(着色器) 我们在绘制view 的时候 就是小学上美术课 用水彩笔在本子上画画 使用着色器绘制圆形图片最简单的理解方式 就是把bitmap ...
- Laravel 上使用 phpexcel的两种方式
原创 2017年06月24日 20:24:31 1229 文章采集与网上 方式1.使用原生的phpexcel , http://blog.csdn.net/CSwfe/article/details/ ...
- Github 上传代码的两种方式
上传本地代码/文件->Github 折腾了半天时间... Github前期准备部分 1)登录github,新建一个 repository 2)repository 命名 3)Github是一个托 ...
- Django上传文件的两种方式
基于form表单上传文件 HTML <h3>基于form表单的上传文件</h3> <form action="" method="post& ...
随机推荐
- [Selenium]中使用css选择器进行元素定位
参考:http://www.cnblogs.com/webblog/archive/2009/07/07/1518274.html 常见语法 * 通用元素选择器,匹配任何元素 E 标签选择器,匹配所有 ...
- mbstowcs_s实现wchar_t转成char
把char*转换为wchar_t* 用stdlib.h中的mbstowcs_s函数,可以通过下面的例子了解其用法: char*CStr = "string to convert"; ...
- 关于打包android自己编写的第三方library提供jar
最近公司要求把应用的接口写成sdk提供给别人使用,写好了之后,发现导出来jar包怎么使用也有误,在运行时会报java.lang.NoClassDefFoundError的错,于是纠结了很久,突然在博客 ...
- POJ 2406 Power Strings KMP运用题解
本题是计算一个字符串能完整分成多少一模一样的子字符串. 原来是使用KMP的next数组计算出来的,一直都认为是能够利用next数组的.可是自己想了非常久没能这么简洁地总结出来,也仅仅能查查他人代码才恍 ...
- C++之EOF()
fstream流的eof()推断有点不合常理 按常理逻辑来说,假设到了文件末尾的话,eof()应该返回真,可是,C++输入输出流怎样知道是否到末尾了呢? 原来依据的是:假设fin>>不能再 ...
- slots - Python的结构体 转
上个月看了篇文章 “SAVING 9 GB OF RAM WITH PYTHON’S __SLOTS__”,原来Python也有类似结构体的东东.拖了一个月才写这篇,是因为太久没看pyth ...
- MySQL内存----使用说明全局缓存+线程缓存) 转
MySQL内存使用说明(全局缓存+线程缓存) 首先我们来看一个公式,MySQL中内存分为全局内存和线程内存两大部分(其实并不全部,只是影响比较大的 部分): per_thread_buffers=(r ...
- Computer Science Theory for the Information Age-6: 学习理论——VC定理的证明
VC定理的证明 本文讨论VC理论的证明,其主要内容就是证明VC理论的两个定理,所以内容非常的枯燥,但对于充实一下自己的理论知识也是有帮助的.另外,VC理论属于比较难也比较抽象的知识,所以我总结的这些证 ...
- 1020. Tree Traversals (25)
the problem is from pat,which website is http://pat.zju.edu.cn/contests/pat-a-practise/1020 and the ...
- 小白日记18:kali渗透测试之缓冲区溢出实例(二)--Linux,穿越火线1.9.0
Linux系统下穿越火线-缓冲区溢出 原理:crossfire 1.9.0 版本接受入站 socket 连接时存在缓冲区溢出漏洞. 工具: 调试工具:edb: ###python在漏洞溢出方面的渗透测 ...