IOS:个人笔记|UI__UIButton
自己在网上找的比较老的教学视频,没找到16年之后新的培训资料。随手记录一些知识点,不定时进行补充。
按钮的状态
Normal 普通状态
默认情况 default
对应的枚举值 :UIControlStateNormal
Highlighted 高亮状态
按钮按下去的时候,手指未松开
对应的枚举值 :UIControlStateHighLighted
Disabled 失效状态
如果enable==no,即代表按钮不可用
对应的枚举值:UIControlStateDisabled
余下两种状态
Focused
Selected
===
button在UI界面的一些琐碎的知识点
type如果是custom,就需要自已重新去设置。
detail disclosure,info light,info dark,button变成一个感叹号图标状,高宽固定
add contact 变成一个+号的图标状
设置button上字体的阴影,是分按钮状态的
按钮如果在image里添加一个图片,按钮会变成custom自定义,按钮大小也会随图片大小变化,在background不会。一个是内容图,一个是背景图.
1 //button的常见的设置 2 /*创建button并且在创建时选择类型(只能在初始化时设置类型,一般选择自定义custom) 3 如果先allocinit创建,再选择buttontype设置类型会失败。因为buttontype是只读类型 4 */ 5 UIButton *btn1=[UIButton buttonWithType:UIButtonTypeCustom]; 6 //设置frame 7 btn1.frame=CGRectMake(20, 20, 30, 30); 8 //设置背景色 9 btn1.backgroundColor=[UIColor redColor]; 10 //设置文字(分状态) 11 [btn1 setTitle: @"按钮普通状态" forState:UIControlStateNormal]; 12 [btn1 setTitle:@"按钮高亮状态" forState:UIControlStateHighlighted]; 13 //设置文字颜色,同样分状态 14 [btn1 setTitleColor:[UIColor blueColor] forState:UIControlStateNormal]; 15 [btn1 setTitleColor:[UIColor redColor] forState:UIControlStateHighlighted]; 16 //设置文字阴影,同样分状态 17 [btn1 setTitleShadowColor:[UIColor yellowColor] forState:UIControlStateNormal]; 18 [btn1 setTitleShadowColor:[UIColor grayColor] forState:UIControlStateHighlighted]; 19 //阴影偏移量,不分状态 20 btn1.titleLabel.shadowOffset=CGSizeMake(3, 3); 21 //设置内容图片,分状态(代码界面设置内容图片,图片如果过大,按钮不会被撑大) 22 [btn1 setImage:[UIImage imageNamed:@"01.png"] forState:UIControlStateNormal]; 23 //设置内容图片的背景颜色 24 btn1.imageView.backgroundColor=[UIColor redColor]; 25 //设置背景图片 26 [btn1 setBackgroundImage:[UIImage imageNamed:@"02.png"] forState:UIControlStateNormal]; 27 /*按钮的监听事件 28 addTarget:谁来做 29 action:要做的事情 30 forControlEvent:触发的事件 31 */ 32 [btn1 addTarget:self action:@selector(btn1Click) forControlEvents:UIControlEventTouchUpInside];
关于多个按钮共用一个点击事件,一般是通过按钮的tag属性实现,通过tag去区分每个按钮。简单的示例,代码没写完整
1 -(void)set{ 2 UIButton *btn1=[[UIButton alloc]init]; 3 [btn1 addTarget:self action:@selector(btn1Click:) forControlEvents:UIControlEventTouchUpInside]; 4 UIButton *btn2=[[UIButton alloc]init]; 5 [btn2 addTarget:self action:@selector(btn1Click:) forControlEvents:UIControlEventTouchUpInside]; 6 UIButton *btn3=[[UIButton alloc ]init]; 7 [btn3 addTarget:self action:@selector(btn1Click:) forControlEvents:UIControlEventTouchUpInside]; 8 [btn1 setTag:1]; 9 [btn2 setTag:2]; 10 [btn3 setTag:3];} 11 -(void)btn1Click:(UIButton *)Button{ 12 if(Button.tag==1) 13 NSLog(@"按钮1"); 14 else if(Button.tag==2) 15 NSLog(@""); 16 else 17 NSLog(@""); 18 }