iOS开发UI之UIButton的基本使用

一. 继承关系:

UIButton --> UIControl --> UIView

二. 什么是按钮

UIButton既能显示文字,又能显示图片,还能随时调整内部图片和文字的位置

三. UIButton的状态

  • UIControlStateNormal : 默认状况
  • UIControlStateHighlighted : 高亮状态(按钮被按下去的时候,既为手指还未松开)
  • UIControlStateDisabled : 失效状态,不可用状态

    如果enable = NO,处于disable状态,代表按钮不可以被点击

四. 按钮的样式

Ø UIButtonTypeCustom:无类型,按钮的内容需要自定义

Ø UIButtonTypeSystem:

Ø UIButtonTypeDetailDisclosure:

Ø UIButtonTypeInfoLight:

Ø UIButtonTypeInfoDark:详情按钮

1.1. 创建按钮

  1. UIButton *addBtn = [UIButton buttonWithType:UIButtonTypeCustom];

2. 设置按钮上的图片(按钮上的图片分状态,设置图片时必须告诉系统文字在按钮的什么状态下显示)

  1. // 设置默认状态下的图片
  2. [addBtn setImage:[UIImage imageNamed:@"add"] forState:UIControlStateNormal];
  3. // 设置高亮状态下的图片
  4. [addBtn setImage:[UIImage imageNamed:@"add_highlighted"] forState:UIControlStateHighlighted];
  5. // 设置不可点击时的图片
  6. [addBtn setImage:[UIImage imageNamed:@"add_disabled"] forState:UIControlStateDisabled];

3. 设置图片对齐方式

  1. btn.imageView.contentMode = UIViewContentModeScaleAspectFit;

4. 设置背景色

  1. btn.backgroundColor = [UIColor purpleColor];

5. 设置按钮的背景图片

  1. [btn setBackgroundImage:[UIImage imageNamed:@"buttongreen"] forState:UIControlStateNormal];
  2. [btn setBackgroundImage:[UIImage imageNamed:@"buttongreen_highlighted"] forState:UIControlStateHighlighted];

6. 设置文字(按钮上的文字分状态,设置文字时必须告诉系统文字在按钮的什么状态下显示)

  1. [btn setTitle:@"普通按钮" forState:UIControlStateNormal];
  2. [btn setTitle:@"高亮按钮" forState:UIControlStateHighlighted];

7. 设置文字颜色

  1. [btn setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
  2. [btn setTitleColor:[UIColor blueColor] forState:UIControlStateHighlighted];

8. 设置文字大小

  1. btn.titleLabel.font = [UIFont systemFontOfSize:20];

9. 设置文字的颜色

  1. [btn setTitleColor:[UIColor redColor] forState:UIControlStateNormal];
  2. [btn setTitleColor:[UIColor blueColor] forState:UIControlStateHighlighted];

10. 设置文字的大小

  1. btn.titleLabel.font = [UIFont systemFontOfSize:20];

11. 监听按钮

  1. [btn addTarget:self action:@selector(btnClick:) forControlEvents:UIControlEventTouchDown];

12. 将按钮添加到View上

  1. [self.view addSubview:btn];

13. 获取按钮上的文字

  1. [self.addBtn titleForState:UIControlStateNormal];

14. 获得按钮的文字颜色

  1. [self.addBtn titleColorForState:UIControlStateNormal];

15. 获得按钮内部的小图片

  1. [self.addBtn imageForState:UIControlStateNormal];

16.获得按钮的背景图片

  1. [self.addBtn backgroundImageForState:UIControlStateNormal];

17.内边距设置

  1. // 设置按钮内边距
  2. self.btn.imageEdgeInsets = UIEdgeInsetsMake(0, 0, 0, 10);
  3. self.btn.titleEdgeInsets = UIEdgeInsetsMake(0, 10, 0, 0);

五. UIButton/UIImageView/UILabel的选择

uUIButton

u特点

-既能显示文字,又能显示图片(能显示2张图片,背景图片、内容图片)

-长按高亮的时候可以切换图片\文字

-直接通过addTarget...方法监听点击

uUIImageView

-能显示图片,不能直接通过addTarget...方法监听点击

uUILabel

-能显示文字,不能直接通过addTarget...方法监听点击

u选择

u仅仅是显示数据,不需要点击

-建议选择UIImageView、UILabel

u不仅显示数据,还需要监听点击

-建议选择UIButton

-其实UIImageView、UILabel也可以通过手势识别器来监听(后面课程会学)

u长按控件后,会改变显示的内容

-不用考虑了,选择UIButton(因为UIButton有highlighted这种状态)

u同时显示2张图片:背景图片、内容图片

-不用考虑了,选择UIButton

@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/css/cuteeditor.css);

时间: 2024-07-31 14:33:03

iOS开发UI之UIButton的基本使用的相关文章

学习IOS开发UI篇--UI知识点总结(一) UIButton/UITextField

UIkit框架下的几个基本控件,UIButton,UITextField,UILabel,UIImageView,UIScrollView,UITableView,UITableViewCell,UIPageControl; 他们的继承关系,UILabel,UIImageView,UIScrollView,UITableViewCell,直接继承自UIView; UIButton,UITextField,UIPageControl,继承自UIControl; UIControl继承自UIView

iOS开发UI篇—UITableview控件基本使

iOS开发UI篇—UITableview控件基本使用 一.一个简单的英雄展示程序 NJHero.h文件代码(字典转模型) #import <Foundation/Foundation.h> @interface NJHero : NSObject /** * 头像 */ @property (nonatomic, copy) NSString *icon; /** * 名称 */ @property (nonatomic, copy) NSString *name; /** * 描述 */ @

iOS开发UI篇—xib的简单使用

iOS开发UI篇—xib的简单使用 一.简单介绍 xib和storyboard的比较,一个轻量级一个重量级. 共同点: 都用来描述软件界面 都用Interface Builder工具来编辑 不同点: Xib是轻量级的,用来描述局部的UI界面 Storyboard是重量级的,用来描述整个软件的多个界面,并且能展示多个界面之间的跳转关系 二.xib的简单使用 1.建立xib文件 建立的xib文件命名为appxib.xib 2.对xib进行设置 根据程序的需要,这里把view调整为自由布局 建立vie

iOS开发UI篇—懒加载

iOS开发UI篇—懒加载 1.懒加载基本 懒加载——也称为延迟加载,即在需要的时候才加载(效率低,占用内存小).所谓懒加载,写的是其get方法. 注意:如果是懒加载的话则一定要注意先判断是否已经有了,如果没有那么再去进行实例化 2.使用懒加载的好处: (1)不必将创建对象的代码全部写在viewDidLoad方法中,代码的可读性更强 (2)每个控件的getter方法中分别负责各自的实例化处理,代码彼此之间的独立性强,松耦合 3.代码示例 1 // 2 // YYViewController.m 3

iOS开发UI—Button基础

iOS开发UI篇—Button基础 一.简单说明 一般情况下,点击某个控件后,会做出相应反应的都是按钮 按钮的功能比较多,既能显示文字,又能显示图片,还能随时调整内部图片和文字的位置 二.按钮的三种状态 normal(普通状态) 默认情况(Default) 对应的枚举常量:UIControlStateNormal highlighted(高亮状态) 按钮被按下去的时候(手指还未松开) 对应的枚举常量:UIControlStateHighlighted disabled(失效状态,不可用状态) 如

iOS开发UI篇—Quartz2D使用(截屏)

iOS开发UI篇—Quartz2D使用(截屏) 一.简单说明 在程序开发中,有时候需要截取屏幕上的某一块内容,比如捕鱼达人游戏.如图: 完成截屏功能的核心代码:- (void)renderInContext:(CGContextRef)ctx;调用某个view的layer的renderInContext:方法即可 二.代码示例 storyboard界面搭建: 代码: 1 // 2 // YYViewController.m 3 // 01-截屏 4 // 5 // Created by appl

iOS开发UI篇—字典转模型

iOS开发UI篇—字典转模型 一.能完成功能的“问题代码” 1.从plist中加载的数据 2.实现的代码 // // LFViewController.m // 03-应用管理 // // Created by apple on 14-5-22. // Copyright (c) 2014年 heima. All rights reserved. // #import "LFViewController.h" @interface LFViewController () @proper

iOS开发UI篇—Button基础

iOS开发UI篇—Button基础 一.简单说明 一般情况下,点击某个控件后,会做出相应反应的都是按钮 按钮的功能比较多,既能显示文字,又能显示图片,还能随时调整内部图片和文字的位置 二.按钮的三种状态 normal(普通状态) 默认情况(Default) 对应的枚举常量:UIControlStateNormal highlighted(高亮状态) 按钮被按下去的时候(手指还未松开) 对应的枚举常量:UIControlStateHighlighted disabled(失效状态,不可用状态) 如

iOS开发UI篇—从代码的逐步优化看MVC

iOS开发UI篇—从代码的逐步优化看MVC 一.要求 要求完成下面一个小的应用程序. 二.一步步对代码进行优化 注意:在开发过程中,优化的过程是一步一步进行的.(如果一个人要吃五个包子才能吃饱,那么他是否直接吃第五个,前面四个不用吃就饱了?) 1.完成基本要求的代码(使用了字典转模型和xib连线) (1)文件结构 (2)主要代码 字典转模型部分: YYappInfo.h头文件 // // YYappInfo.h // 12-视图改进(1) // // Created by apple on 14