iOS学习笔记------UIButton、UIImageView、UILabel的属性与方法
2016-04-28 20:32
726 查看
一、UIButton
1.UIButton状态:
UIControlStateNormal // 正常状态 UIControlStateHighlighted // 高亮状态 UIControlStateDisabled // 禁用状态 UIControlStateSelected // 选中状态 UIControlStateApplication // UIControlStateReserved // 保留状态
2.Uibutton类型:
UIButtonTypeCustom //自定义类型 UIButtonTypeRoundedRect //圆角类型 UIButtonTypeDetailDisclosure //细节展示按钮 UIButtonTypeInfoLight //浅色背景的信息按钮 UIButtonTypeInfoDark //暗色背景的信息按钮 UIButtonTypeContactAdd // 添加按钮(加号)
3.UIButton常用属性
给按钮设置文字时,苹果文档说明,不能使用label对象设置文字的颜色或者阴影颜色,相反必须使用setTitleColor:forState: and setTitleShadowColor:forState:这两个方法才能修改这些值。设置按钮中其他属性依次类推。
//1.设置对应状态的标题内容default is nil. title is assumed to be single line - (void)setTitle:(NSString *)title forState:(UIControlState)state; //2.设置对应状态的标题颜色 - (void)setTitleColor:(UIColor *)color forState:(UIControlState)state; //3.设置对应状态的标题阴影颜色 - (void)setTitleShadowColor:(UIColor *)color forState:(UIControlState)state; //4.设置对应状态的按钮的图片 - (void)setImage:(UIImage *)image forState:(UIControlState)state; //5.设置对应状态的按钮背景图片 - (void)setBackgroundImage:(UIImage *)image forState:(UIControlState)state; //6.添加事件 - (void)addTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents; 这些事件都是基于触摸、基于值、基于编辑。有如下事件会触发。 在点击按钮是按钮是凹下去,然后弹起才触发起事件,按钮的状态有: UIControlEventTouchDown // 按下 UIControlEventTouchDownRepeat //多次按下 UIControlEventTouchUpInside // 在按钮及其一定范围内松开 UIControlEventTouchUpOutside // 按钮外面松开 //7.adjustsImageWhenDisabled 当按钮禁用的情况下,图像的颜色会被画深一点,默认为YES. //8.adjustsImageWhenHighlighted 当按钮高亮的情况下,图像的颜色会被画深一点,默认为YES. //9.showsTouchWhenHighlighted button.showsTouchWhenHighlighted=YES;点击时的闪光效果会被前景图片遮住中间部分. //10.contentEdgeInsets 设置按钮的内部内容(包含按钮图片和标题)离按钮边缘上下左右的距离.
4.按钮实例
有些时候我们想让UIButton的title居左对齐,我们设置btn.textLabel.textAlignment = UITextAlignmentLeft
是没有作用的,我们需要设置
btn.contentHorizontalAlignment = UIControlContentHorizonAlignmentLeft;
但是问题又出来,此时文字会紧贴到左边框,我们可以设置
btn.contentEdgeInsets = UIEdgeInsetsMake(0,10, 0, 0);
使文字距离左边框保持10个像素的距离。
二、UIImageView
1.UIImageView属性
(1) Image 设置图片,默认显示UIImageView *_imageView = [[UIImageView alloc]init]; _imageView.image = [UIImage imageNamed:@"me.png"];
(2) highlightedImage 设置高亮状态下显示
_imageView.highlightedImage = [UIImage imageNamed:@"other.png"];
(3) highlighted 设置是否为高亮状态,默认为普通状态
[_imageView setHighlighted:YES];
(4) animationImages 设置序列帧动画的图片数组
[_imageView setAnimationImages:[NSArray array]];
(5) highlightedAnimationImages 设置高亮状态下序列帧动画的图片数组
[_imageView setHighlightedAnimationImages:[NSArray array]];
(6) animationDuration 设置序列帧动画播放的时长
[_imageView setAnimationDuration:0.3f];
(7) animationRepeatCount 设置序列帧动画播放的次数
[_imageView setAnimationRepeatCount:2];
(8) userInteractionEnabled 设置是否允许用户交互,默认不允许用户交互,如果要给UIImageView添加事件,需要将此属性设为YES.
[_imageView setUserInteractionEnabled:YES]; //添加一个敲击手势识别器 UITapGestureRecognizer *tapGesture = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(imageViewAction:)]; [_imageView addGestureRecognizer:tapGesture];
三、UILabel
1.UILabel属性
(1)text:设置标签显示文本。(2)attributedText:设置标签属性文本。
NSString *text = @"first"; NSMutableAttributedString *textLabelStr = [[NSMutableAttributedString alloc] initWithString:text]; [textLabelStr setAttributes:@{NSForegroundColorAttributeName : [UIColor lightGrayColor], NSFontAttributeName : [UIFont systemFontOfSize:17]} range:NSMakeRange(11, 10)]; label.attributedText = textLabelStr;
(3)font:设置标签文本字体。
默认是系统自带字体,大小为17。
label.font = [UIFont systemFontOfSize:17] label.font = [UIFont fontWithName:@"Arial" size:16]; label.textColor = [UIColor blueColor];
(4)textAlignment:设置标签文本对齐方式。
//居中 label.textAlignment = NSTextAlignmentCenter;
(5)lineBreakMode:设置标签文字过长时的显示方式,这个属性使用于label中文本的换行和截短。首先numberofLines必须设置为0,才有效果。
label.lineBreakMode = NSLineBreakByCharWrapping; //以字符为显示单位显示,后面部分省略不显示。 label.lineBreakMode = NSLineBreakByClipping; //剪切与文本宽度相同的内容长度,后半部分被删除。 label.lineBreakMode = NSLineBreakByTruncatingHead; //前面部分文字以……方式省略,显示尾部文字内容。 label.lineBreakMode = NSLineBreakByTruncatingMiddle; //中间的内容以……方式省略,显示头尾的文字内容。 label.lineBreakMode = NSLineBreakByTruncatingTail; //结尾部分的内容以……方式省略,显示头的文字内容。 label.lineBreakMode = NSLineBreakByWordWrapping; //以单词为显示单位显示,后面部分省略不显示。 比如: label.numberOfLines = 0 label.lineBreakMode = NSLineBreakByTruncatingMiddle;
(6)enabled:设置文字内容是否可变。
(7)adjustsFontSizeToFitWidth:文字内容自适应标签宽度。
(8)adjustsLetterSpacingToFitWidth:根据字母的间隔自适应标签宽度,超出部分以……显示。
(9)numberOfLines:标签最多显示行数。
(10)minimumScaleFactor:设置最小字体,与minimumFontSize相同,minimumFontSize在IOS 6后不能使用。
(11)highlightedTextColor:设置文本高亮显示颜色,与highlighted一起使用。
(12)shadowColor:设置文本阴影颜色。
(13)shadowColor:设置文本阴影与原文本的偏移量。
label.shadowOffset = CGSizeMake(1.0, 5.0);
(14)userInteractionEnabled:设置标签是否忽略或移除用户交互。默认为NO。
(15)preferredMaxLayoutWidth:优先选择标签布局的最大宽度。
(16)baselineAdjustment:如果adjustsFontSizeToFitWidth属性设置为YES,这个属性就来控制文本基线的行为。
label.baselineAdjustment = UIBaselineAdjustmentNone; UIBaselineAdjustmentAlignBaselines; //默认,文本最上端与中线对齐。 UIBaselineAdjustmentAlignCenters; //文本中线与label中线对齐。 UIBaselineAdjustmentNone; //文本最低端与label中线对齐。
(17)backgroundColor 背景颜色
//清空背景颜色 label.backgroundColor = [UIColor clearColor];
相关文章推荐
- Builds failing with OutOfMemoryErrors(Heap or Permgen space) on Jenkins
- 对石家庄铁道大学网站首页进行UI分析
- 针对石家庄铁道大学官网首页的UI分析
- 对石家庄铁道大学官网UI设计的分析
- JAVA设计模式(04):创建型-建造模式(Builder)
- arm交叉编译器gnueabi、none-eabi、arm-eabi、gnueabihf、gnueabi区别
- iOS 自定义UIPickerView地区选择器视图 —— HERO博客
- UIViewContentMode 图文解说
- 共同学习Java源代码--常用工具类--AbstractStringBuilder(九)
- Android官方Training阅读笔记 ---- Building a Dynamic UI with Fragments(Building a Flexible UI) (二)
- iOS UIScrollView简介及使用技巧
- 共同学习Java源代码--常用工具类--AbstractStringBuilder(八)
- android 的activity 与IOS UIControllerView对比
- Android酷炫实用的开源框架(UI框架)
- Integer.valueOf(int i)与自动拆箱与装箱
- css font-style:italic与oblique的区别
- java中stringBuilder的用法
- BufferQueue原理
- POJ 1904 King's Quest 强连通分量 好题
- Debian 8(jessie)下设置系统启动直接进入命令行,无GUI