您的位置:首页 > 移动开发 > IOS开发

IOS项目笔记——按钮属性和代码添加

2013-09-14 15:07 513 查看
学IOS不就,但是很荣欣的是很快就找到可工作,但是在工作中,会遇到很多不同的需求,在这里我也将做这个项目中遇到的问题在这里做一个梳理

在项目中很多时候直接拉空间来实现页面是不现实的,所以很多时候都是要 用代码动态添加

1、动态添加元素

(1)、添加一个按钮 和 按钮属性介绍

首先要知道按钮的集中风格:

//typedef enum {


06
UIButtonTypeCustom = 0,  自定义风格
07
UIButtonTypeRoundedRect, 圆角矩形
08
UIButtonTypeDetailDisclosure,蓝色小箭头按钮,主要做详细说明用
09
UIButtonTypeInfoLight,   亮色感叹号
10
UIButtonTypeInfoDark,暗色感叹号
11
UIButtonTypeContactAdd,  十字加号按钮
12
} UIButtonType;
/* forState: 这个参数的作用是定义按钮的文字或图片在何种状态下才会显现*/


1
//以下是几种状态
2
//enum {
3
//UIControlStateNormal   = 0, 常规状态显现 
4
//UIControlStateHighlighted  = 1 << 0,高亮状态显现   
5
//UIControlStateDisabled = 1 << 1,禁用的状态才会显现
6
//UIControlStateSelected = 1 << 2,选中状态 
7
//UIControlStateApplication  = 0x00FF0000, 当应用程序标志时   
8
//UIControlStateReserved = 0xFF000000  为内部框架预留,可以不管他
9
//};
UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
[btn setTitle:@"点击" forState:UIControlStateNormal]; //正常状态下按钮显示的字
[btn setTitle:@"点击了" forState:UIControlStateHighlighted]; //按钮点击时显示的字

btn.enabled = false; //设置按钮是否可用
[btn setTitle:@"禁用状态" forState:UIControlStateDisabled];//按钮不可用的时候,显示的字

//[btn setTitle:@"未知" forState:UIControlStateSelected]; //还没够明白

CGRect rect = CGRectMake(100, 100, 100, 40);
btn.frame = rect;//或者是 btn.frame = CGRectMake(200, 100, 100, 40);

[self.view addSubview:btn];


按钮还有很多其他的属性 比如:

默认情况下,当按钮高亮的情况下,图像的颜色会被画深一点,如果这下面的这个属性设置为no,那么可以去掉这个功能

btn.adjustsImageWhenHighlighted = NO;  


默认情况下,当按钮禁用的时候,图像会被画得深一点,设置NO可以取消设置

btn.adjustsImageWhenDisabled = NO;


下面的这个属性设置为yes的状态下,按钮按下会发光*/

btn.showsTouchWhenHighlighted = YES;//在圆角按钮上实现了效果,但是在自定义按钮上没有实现,不知道什么问题


当然在定义按钮的时候,可以直接开辟空间来定义按钮,这个时候,按钮是默认
UIButtonTypeCustom
风格

UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(100, 100, 100, 50)];
[btn setTitle:@"看不见" forState:UIControlStateNormal];

[self.view addSubview:btn];


在我们自定义风格按钮的时候,如果我们只有一张方形图,但是我们在代码中要实现按钮有一定的圆角,这个也是可以实现的,

需要注意的是:我们需要用到一个包
QuartzCore 在需要实现圆角自定义按钮的时候,需要先导入QuartzCore 这个包,然后在文件之前,声明

#import <QuartzCore/QuartzCore.h>

然后在按钮定义里面实现以下代码就可以了

UIButton *btn = [[UIButton alloc] initWithFrame:CGRectMake(100, 100, 100, 50)];
//btn.frame = CGRectMake(100, 100, 100, 50);
[btn setImage:[UIImage imageNamed:@"按钮"] forState:UIControlStateNormal];
[btn setImage:[UIImage imageNamed:@"按钮2"] forState:UIControlStateHighlighted];
[btn.layer setMasksToBounds:YES]; //是都支持圆角
[btn.layer setCornerRadius:8.0f]; //圆角大小
[btn.layer setBorderWidth:1.0f]; //设置按钮外框大小
[btn.layer setBorderColor:[[UIColor whiteColor] CGColor]];
[self.view addSubview:btn];
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: