Button的功能很黄很暴力,即能显示文字,又能显示图片,还能随时调整内部图片和文字的位置,用的地方很多。

(1)按钮常用的四种状态:

  normal(普通状态)

  默认情况(Default)

  对应的枚举常量:UIControlStateNormal

  highlighted(高亮状态)

  按钮被按下去的时候(手指还未松开)

  对应的枚举常量:UIControlStateHighlighted

  selected (选中状态)

  选没选中由我们自行设定

  对应的枚举常量:UIControlStateSelected

  disabled(失效状态,不可用状态)

  如果enabled属性为NO,就是处于disable状态,代表按钮不可以被点击

  对应的枚举常量:UIControlStateDisabled

(2)创建button:+ (id)buttonWithType:(UIButtonType)buttonType;

typedef NS_ENUM(NSInteger, UIButtonType) {

UIButtonTypeCustom = 0,            // no button type

UIButtonTypeSystem,                // standard system button

UIButtonTypeDetailDisclosure,

UIButtonTypeInfoLight,

UIButtonTypeInfoDark,

UIButtonTypeContactAdd,

  常用的是UIButtonTypeCustom和UIButtonTypeSystem,一般选用UIButtonTypeSystem,当你需要对button进行一些个性化的设置时,比如button的选中状态与未选中状态,字体,图片这些不同时,就必须要选择UIButtonTypeCustom,不然,选中状态时,按钮的上面会出现一个蓝色的竖条条。

UIButtonTypeRoundedRect = UIButtonTypeSystem,   // Deprecated, use UIButtonTypeSystem instead

};

(2)按钮的常用属性

  Button.titleLabel.font = [UIFont systemFontOfSize:20];   //改变button字体大小

(3)button的描边

(4)button的四角设置弧度

(5)

(6)

(7)

(8)

(9)

(10)

- (void)viewDidLoad {

[super viewDidLoad];

UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem];

button.frame = CGRectMake(100, 100, 200, 100);

//[button setTitle:@"呵呵..." forState:UIControlStateNormal];

//button.backgroundColor = [UIColor lightGrayColor];

//[button setTintColor:[UIColor yellowColor]];

button.titleLabel.text = @"hehe";

button.showsTouchWhenHighlighted=YES;

[button addTarget:self action:@selector(addButton:) forControlEvents:UIControlEventTouchUpInside];

//将标签加入视图

[self.view addSubview:button];

}

-(void)addButton:(UIButton*)button{

button.selected = !button.selected;

if (button.selected) {

NSLog(@"selected");

button.backgroundColor = [UIColor lightGrayColor];

[button setTitle:@"点我干嘛!" forState:UIControlStateNormal];

NSLog(@"%@",button.currentTitle);

} else {

NSLog(@"unSelected");

[button setTitle:@"呵呵..." forState:UIControlStateNormal];

NSLog(@"%@",button.currentTitle);

}

}

---恢复内容结束---

最新文章

  1. 使用VNET-to-VNET连接Microsoft Azure国际版和中国版
  2. static关键字作用总结
  3. node 学习笔记 - path 处理
  4. 一个简单的dos脚本, svn 获取代码 - Tomcat 备份 - Maven 编译 - 停止/启动Tomcat - Tomcat站点 发布
  5. 用Qt写软件系列二:QCookieViewer(浏览器Cookie查看器)
  6. notepad++下的字体设置
  7. Codeforces 716C[数论][构造]
  8. ajax_get方式
  9. asp.net FileUpload 控件上传文件 以二进制的形式存入数据库并将图片显示出来
  10. Android,监控ContentProvider的数据改变
  11. ZOJ 3607贪心算法
  12. C#中利用双缓冲技术解决绘图闪屏问题。
  13. Linux系统——运行级别
  14. C++中继承与抽象类
  15. [C]gcc编译器的一些常用语法
  16. jenkins自动部署到tomcat报错:ERROR: Publisher hudson.plugins.deploy.DeployPublisher aborted due to exception
  17. 1、JVM 内存模型+运行时数据区+JVM参数
  18. Linux下查看哪些IP登陆过系统/var/log/wtmp
  19. VIM_manual
  20. NOI2017 退役记

热门文章

  1. AutoTile 自动拼接(一) 学习与实践
  2. windows程序设计(四)
  3. java 设计模式之工厂模式与反射的结合
  4. 河南多校大一训练赛 C 青蛙的约会
  5. (一)、Struts第一天
  6. 编程实现prim算法和Dijkstra算法。
  7. 判断iPhone/android手机
  8. C#中Form窗体中读取EXCEL的数据
  9. HDU 2612 Find a way BFS,防止超时是关键
  10. ARM系统中函数调用过程中的参数传递-转