当前位置:   article > 正文

iOS开发基础-UIButton的使用_shows touch on heighted

shows touch on heighted

UIButton的使用

基本使用
1.UIButton创建.frame位置确定
2.文字内容显示
3.UIButton点击事件处理(常用3种状态)
4.事件响应

常用属性方法
5.字体颜色
6.字体大小
7.是否可以点击enable
8.点击时是否高亮showTouchWhenHeighted
9.tag标志button

制作一个custom button(图片按钮定制)
1.使用buttonwithType:创建
2.背景图片设置
3.图片设置
4.点击事件处理
5.加载到界面上

//UIButton:UIControl:UIView
//所有事件驱动型的控件,父类都为UIControl
//类方法创建一个UIButton  type button的样式
//iOS7之后,UIButtonTypeRoundedRect 无效果
  • 1
  • 2
  • 3
  • 4

Button 基本属性设置
UIButton *btn = [UIButton buttonWithType:UIButtonTypeRoundedRect];
/*
typedef NS_ENUM(NSInteger, UIButtonType) {
UIButtonTypeCustom = 0, //矩形
UIButtonTypeSystem
UIButtonTypeDetailDisclosure,
UIButtonTypeInfoLight,
UIButtonTypeInfoDark,
UIButtonTypeContactAdd,
//圆角形 ios7UIButtonTypeSystem UIButtonTypeRoundedRect = UIButtonTypeSystem,
};
*/

btn.backgroundColor = [UIColor redColor];

//设置button的frame
btn.frame = CGRectMake(10,30,300,30);
  • 1
  • 2
  • 3
  • 4

Button点击显示设置
//设置button处于常态下的标题
[btn setTitle:@”按钮1” forState:UIControlStateNormal];
//当btn被点按,处于高亮状态
[btn setTitle:@”按钮被点按” forState:UIControlStateHighlighted];
/*
typedef NS_OPTIONS(NSUInteger, UIControlState) {
UIControlStateNormal //正常状态 (不点击状态)
UIControlStateHighlighted//点击不松手
UIControlStateDisabled //不可用状态
UIControlStateSelected //选中状态
*/

//设置标题颜色
[btn setTitleColor:[UIColor blackColor] forState:UIControlStateNormal];
[btn setTitleColor:[UIColor yellowColor] forState:UIControlStateHighlighted];

btn.enabled = NO;   //是否可用(可以被点击) 默认YES
  • 1
  • 2
  • 3
  • 4
  • 5

Button点击事件设置
//事件驱动型控件的体现
//UIControlEventTouchUpInside (按住button,并且在btn的frame范围之内松开手指)
//target-action: 当btn满足特定事件后,会让target对象来执行action方法
//注意:action 方法在target中必须存在,否则,程序会崩溃,方法加上: 会将btn本身作为参数传递过去
[btn addTarget:self action:@selector(btnClicked:) forControlEvents:UIControlEventTouchUpInside];
/*
typedef NS_OPTIONS(NSUInteger, UIControlEvents) {
UIControlEventTouchDown //按下
UIControlEventTouchUpInside//点击松开 最常用
UIControlEventValueChanged //值改变
};
*/
//设置标记
btn.tag = 100;

自定义Button背景图片设置
//开发中,UIButton,会加上贴图使用
//如果是.png图片 可以省略后缀 还可以省略@2x @3x
//苹果支持.png .jpg .jpeg 用得最多的是png png图片CPU渲染最快

//UIImage 图片类 (根据图片的名称,得到图片对象)
UIImage *image = [UIImage imageNamed:@"1.png"];
UIImage *bgImage = [UIImage imageNamed:@"map.png"];

//设置图片
//setImage setBackgroundImage 区别:  前者的贴图显示在上面,setImage btn很大时,图片不会被拉伸;setBackgroundImage 图片的大小会随着btn的frame而变化
[customBtn setImage:image forState:UIControlStateNormal];
[customBtn setBackgroundImage:bgImage forState:UIControlStateNormal];
customBtn.tag = 101;
[customBtn addTarget:self action:@selector(btnClicked:) forControlEvents:UIControlEventTouchUpInside];
//添加到window上
[self.window addSubview:customBtn];

//1.设置标题阴影颜色
[btn setTitleShadowColor:[UIColor grayColor] forState:UIControlStateNormal ];//阴影
//2.按钮内容内边距
btn.contentEdgeInsets = UIEdgeInsetsZero;
//3.按钮标题内边距
btn.titleEdgeInsets = UIEdgeInsetsZero;
//4.点击时显示高亮
btn.showsTouchWhenHighlighted = YES;
//5.高亮时自适应图片
btn.adjustsImageWhenHighlighted = YES;
//6.设置镂空颜色
btn.tintColor = [UIColor redColor];
//7.某种状态的标题
NSLog(@"%@",[btn titleForState:UIControlStateNormal]);
//8.某种状态的标题颜色
NSLog(@"%@",[btn titleColorForState:UIControlStateNormal]);
//9.某种状态的标题阴影颜色
NSLog(@"%@",[btn titleShadowColorForState:UIControlStateNormal]);
//10.某种状态的标题前景图片
NSLog(@"%@",[btn imageForState:UIControlStateNormal]);
//11.某种状态的标题背景图片
NSLog(@"%@",[btn backgroundImageForState:UIControlStateNormal]);

//下面皆为只读属性
NSLog(@"%ld",(long)btn.buttonType);//12.按钮样式
NSLog(@"%@",btn.currentTitle);//13.按钮当前
NSLog(@"%@",btn.currentTitleColor);//14.按钮当前标题颜色
NSLog(@"%@",btn.currentTitleShadowColor);//15.按钮当前标题阴影颜色
NSLog(@"%@",btn.currentImage);//16.按钮当前前景图片
NSLog(@"%@",btn.currentBackgroundImage);//17.按钮当前背景图片
NSLog(@"%@",btn.titleLabel);//18.按钮上的标题视图label
NSLog(@"%@",btn.imageView);//19.按钮上的图片视图imageView

//以下属性在3.0后弃用
//20.设置标题字体大小
btn.font = [UIFont systemFontOfSize:12];
//21.设置标题截断方式
btn.lineBreakMode = NSLineBreakByWordWrapping;
//22.设置标题阴影偏移量
btn.titleShadowOffset = CGSizeZero;
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/93574
推荐阅读
  

闽ICP备14008679号