OC之基本控件一

来源:互联网 发布:招聘网络兼职的广告语 编辑:程序博客网 时间:2024/06/07 02:35

一、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:这两个方法才能修改这些值。


设置按钮中其他属性依次类推。。。。


//设置对应状态的标题内容default is nil. title is assumed to be single line
- (void)setTitle:(NSString *)title forState:(UIControlState)state;  
//设置对应状态的标题颜色           
- (void)setTitleColor:(UIColor *)color forState:(UIControlState)state;   
//设置对应状态的标题阴影颜色            
- (void)setTitleShadowColor:(UIColor *)color forState:(UIControlState)state;          
//设置对应状态的按钮的图片
- (void)setImage:(UIImage *)image forState:(UIControlState)state;        
//设置对应状态的按钮背景图片
- (void)setBackgroundImage:(UIImage *)image forState:(UIControlState)state;


添加事件
- (void)addTarget:(id)target action:(SEL)action forControlEvents:(UIControlEvents)controlEvents;
这些事件都是基于触摸、基于值、基于编辑。有如下事件会触发。
在点击按钮是按钮是凹下去,然后弹起才触发起事件,按钮的状态有: 
UIControlEventTouchDown      // 按下    
   
UIControlEventTouchDownRepeat  多次按下   
UIControlEventTouchUpInside // 在按钮及其一定外围内松开
   
UIControlEventTouchUpOutside // 按钮外面松开  


4.adjustsImageWhenDisabled
当按钮禁用的情况下,图像的颜色会被画深一点,默认为YES。
5.adjustsImageWhenHighlighted
当按钮高亮的情况下,图像的颜色会被画深一点,默认为YES。
6.showsTouchWhenHighlighted
button.showsTouchWhenHighlighted=YES;点击时的闪光效果会被前景图片遮住中间部分;
6.contentEdgeInsets
设置按钮的内部内容(包含按钮图片和标题)离按钮边缘上下左右的距离。


7.按钮实例
1.有些时候我们想让UIButton的title居左对齐,我们设置 
btn.textLabel.textAlignment = UITextAlignmentLeft
是没有作用的,我们需要设置 
btn.contentHorizontalAlignment = UIControlContentHorizonAlignmentLeft;
但是问题又出来,此时文字会紧贴到左边框,我们可以设置 
btn.contentEdgeInsets = UIEdgeInsetsMake(0,10, 0, 0);

使文字距离左边框保持10个像素的距离。 


二、UILabel


1.text:设置标签显示文本。 
2.attributedText:设置标签属性文本。 
Ios代码 
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。
Ios代码 
label.font = [UIFont systemFontOfSize:17]
label.font = [UIFont fontWithName:@"Arial" size:16];  
Ios代码  
label.textColor = [UIColor blueColor];
4.textAlignment:设置标签文本对齐方式。 
Ios代码  
label.textAlignment = NSTextAlignmentCenter;  
5.lineBreakMode:设置标签文字过长时的显示方式,这个属性使用于label中文本的换行和截短。首先numberofLines必须设置为0,才有效果。


Ios代码  
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,这个属性就来控制文本基线的行为。



Ios代码 
label4.baselineAdjustment = UIBaselineAdjustmentNone;  
UIBaselineAdjustmentAlignBaselines=0,默认,文本最上端与中线对齐。  
UIBaselineAdjustmentAlignCenters,   文本中线与label中线对齐。  
UIBaselineAdjustmentNone,  文本最低端与label中线对齐。


17. backgroundColor 背景颜色
ios代码:清空背景颜色 label1.backgroundColor = [UIColor clearColor];

0 0
原创粉丝点击