iOS自学笔记之UIButton控件

/

软硬件环境

  • Xcode 7.0.1

前言

iOS中的按钮是UIButton,也是非常常见的控件。它可以响应用户点击事件,完成特定的业务逻辑。

UIButton的常用属性

创建UIButtonDemo工程,打开ViewController.m文件,在viewDidLoad函数中加入代码

  1. //类方法创建UIButton对象,不能用alloc和init组合来创建,这点和UILable不一样
  2. UIButton* button = [UIButton buttonWithType:UIButtonTypeRoundedRect];
  3. button.frame = CGRectMake(100, 100, 100, 40);
  4. //设置按钮上的文本显示信息
  5. [button setTitle:@"我是按钮" forState:UIControlStateNormal];
  6. //按钮被按下后的文本显示信息
  7. [button setTitle:@"按钮被按下" forState:UIControlStateHighlighted];
  8. //设置字体大小
  9. button.titleLabel.font = [UIFont systemFontOfSize:20];
  10. //设置按钮风格颜色,TintColor和TitleColor同时存在是TintColor不起作用
  11. [button setTintColor: [UIColor orangeColor]];
  12. //设置按钮颜色
  13. [button setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
  14. //设置按钮被按下的颜色
  15. [button setTitleColor:[UIColor greenColor] forState:UIControlStateHighlighted];
  16. //响应点击事件,UIControlEventTouchUpInside为点击类型,点击完成后弹开仍在按钮的范围内,与其相对应的是UIControlEventTouchUpOutside,弹开后在按钮的外面
  17. [button addTarget:self action:@selector(buttonPressed) forControlEvents:UIControlEventTouchUpInside];
  18. [self.view addSubview:button];

按钮的点击响应函数放在viewDidLoad方法外实现

  1. //事件响应函数
  2. - (void)buttonPressed {
  3. NSLog(@"按钮被按下!");
  4. }

当完成一次按钮点击后,终端就会打印一次”按钮被按下!”。

图片按钮

与圆角按钮不同的是,图片按钮创建时的buttonWithType为UIButtonTypeCustom,自定义而不是上面的圆角

  1. //图片按钮
  2. UIButton* imageButton = [UIButton buttonWithType:UIButtonTypeCustom];
  3. imageButton.frame = CGRectMake(100, 200, 100, 40);
  4. [imageButton setImage:[UIImage imageNamed:@"xiaoxin.jpg"] forState:UIControlStateNormal];
  5. [imageButton setImage:[UIImage imageNamed:@"xiaowanzi.jpg"] forState:UIControlStateHighlighted];
  6. [self.view addSubview:imageButton];

两张图片xiaoxin.jpg和xiaowanzi.jpg事先准备好,然后拖动到当前工程中。

UIButton_1

工程下载

https://github.com/djstava/iOSLearning/tree/master/UIButtonDemo

转载请注明作者和出处,并添加本页链接。
原文链接: http://xugaoxiang.com/post/41

给我留言