UILable,UIButton,UITextField的常用属性

  1 UILabel
  2 
  3 UILabel继承了UIView,它可以设置UIView所支持的属性。
  4 
  5 UILabel *label1 = [[UILabel alloc]initWithFrame:CGRectMake(50.0, 20.0, 200.0, 50.0)];  //设置Label的位置和大小
  6 //设置显示文字
  7 label1.text = @"用户名";
  8 //设置字体:粗体,正常的是 SystemFontOfSize
  9 label1.font = [UIFont boldSystemFontOfSize:20];
 10 //设置文字颜色
 11 label1.textColor = [UIColor orangeColor];
 12 //设置文字位置
 13 label1.textAlignment = UITextAlignmentRight;
 14 label2.textAlignment = UITextAlignmentCenter;
 15 //设置字体大小适应label宽度
 16 label4.adjustsFontSizeToFitWidth = YES;
 17 //设置label的行数
 18 label5.numberOfLines = 2;
 19 UIlabel.backgroudColor=[UIColor clearColor]; //可以去掉背景色
 20 
 21 //设置高亮
 22 label6.highlighted = YES;
 23 label6.highlightedTextColor = [UIColor orangeColor];
 24 //设置阴影
 25 label7.shadowColor = [UIColor redColor];
 26 label7.shadowOffset = CGSizeMake(1.0,1.0);
 27 //设置是否能与用户进行交互
 28 label7.userInteractionEnabled = YES;
 29 //设置label中的文字是否可变,默认值是YES
 30 label3.enabled = NO;
 31 //设置文字过长时的显示格式
 32 label3.lineBreakMode = UILineBreakModeMiddleTruncation;//截去中间
 33 //  typedef enum {
 34 //      UILineBreakModeWordWrap = 0,
 35 //      UILineBreakModeCharacterWrap,
 36 //      UILineBreakModeClip,//截去多余部分
 37 //      UILineBreakModeHeadTruncation,//截去头部
 38 //      UILineBreakModeTailTruncation,//截去尾部
 39 //      UILineBreakModeMiddleTruncation,//截去中间
 40 //  } UILineBreakMode;
 41 
 42 //如果adjustsFontSizeToFitWidth属性设置为YES,这个属性就来控制文本基线的行为
 43 label4.baselineAdjustment = UIBaselineAdjustmentNone;
 44 //  typedef enum {
 45 //      UIBaselineAdjustmentAlignBaselines,
 46 //      UIBaselineAdjustmentAlignCenters,
 47 //      UIBaselineAdjustmentNone,
 48 //  } UIBaselineAdjustment;
 49 
 50 
 51 有时需要设置UILabel中文本的行数,其属性值默认为1,用于设置该UILabel只能显示一行文本。
 52 
 53    oldPasswordLabel.numberOfLines = 2;
 54 
 55 
 56 UITextField
 57 
 58 //初始化textfield并设置位置及大小
 59 UITextField *text = [[UITextField alloc]initWithFrame:CGRectMake(20, 20, 130, 30)];
 60 
 61 //当输入框没有内容时,水印提示 ,提示内容为“用户名”
 62 //显示灰色字体,作为提示信息
 63 text.placeholder = @"用户名";
 64 
 65 //设置边框样式,只有设置了才会显示边框样式
 66 text.borderStyle = UITextBorderStyleRoundedRect;
 67 typedef enum {
 68     UITextBorderStyleNone,
 69     UITextBorderStyleLine,
 70     UITextBorderStyleBezel,
 71     UITextBorderStyleRoundedRect
 72 } UITextBorderStyle;
 73 
 74 //设置键盘的样式
 75 text.keyboardType = UIKeyboardTypeNumberPad;
 76 typedef enum {
 77     UIKeyboardTypeDefault,                 //默认键盘,支持所有字符
 78     UIKeyboardTypeASCIICapable,            //支持ASCII的默认键盘
 79     UIKeyboardTypeNumbersAndPunctuation,   //标准电话键盘,支持+*#字符
 80     UIKeyboardTypeURL,                      //URL键盘,支持.com按钮 只支持URL字符
 81     UIKeyboardTypeNumberPad,               //数字键盘
 82     UIKeyboardTypePhonePad,               //电话键盘
 83     UIKeyboardTypeNamePhonePad,            //电话键盘,也支持输入人名
 84     UIKeyboardTypeEmailAddress,            //用于输入电子 邮件地址的键盘
 85     UIKeyboardTypeDecimalPad,              //数字键盘 有数字和小数点
 86     UIKeyboardTypeTwitter,                 //优化的键盘,方便输入@、#字符
 87     UIKeyboardTypeAlphabet = UIKeyboardTypeASCIICapable,
 88 } UIKeyboardType;
 89 
 90 //每输入一个字符就变成点 用语密码输入
 91 text.secureTextEntry = YES;
 92 
 93 //设置输入框的背景颜色,此时设置为白色 如果使用了自定义的背景图片边框会被忽略掉
 94 text.backgroundColor = [UIColor whiteColor];
 95 
 96 //设置背景图片
 97 text.background = [UIImage imageNamed:@"dd.png"];
 98 
 99 //设置背景
100 text.disabledBackground = [UIImage imageNamed:@"cc.png"];
101 
102 
103 //设置输入框内容的字体样式和大小
104 text.font = [UIFont fontWithName:@"Arial" size:20.0f];
105 
106 //设置字体颜色
107 text.textColor = [UIColor redColor];
108 
109 //输入框中是否有个叉号,在什么时候显示,用于一次性删除输入框中的内容
110 text.clearButtonMode = UITextFieldViewModeAlways;
111 typedef enum {
112     UITextFieldViewModeNever,           //从不出现
113     UITextFieldViewModeWhileEditing,     //编辑时出现
114     UITextFieldViewModeUnlessEditing,   //除了编辑外都出现
115     UITextFieldViewModeAlways           //一直出现
116 } UITextFieldViewMode;
117 
118 //输入框中一开始就有的文字
119 text.text = @"一开始就在输入框的文字";
120 
121 //是否纠错
122 text.autocorrectionType = UITextAutocorrectionTypeNo;
123 typedef enum {
124     UITextAutocorrectionTypeDefault,    //默认
125     UITextAutocorrectionTypeNo,        //不自动纠错
126     UITextAutocorrectionTypeYes,       //自动纠错
127 } UITextAutocorrectionType;
128 
129 //再次编辑就清空
130 text.clearsOnBeginEditing = YES;
131 
132 //内容对齐方式
133 text.textAlignment = UITextAlignmentLeft;
134 
135 //内容的垂直对齐方式  UITextField继承自UIControl,此类中有一个属性contentVerticalAlignment
136 text.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
137 
138 //设置为YES时文本会自动缩小以适应文本窗口大小.默认是保持原来大小,而让长文本滚动
139 textFied.adjustsFontSizeToFitWidth = YES;
140 
141 //设置自动缩小显示的最小字体大小
142 text.minimumFontSize = 20;
143 
144 //首字母是否大写
145 text.autocapitalizationType = UITextAutocapitalizationTypeNone;
146 
147 typedef enum {
148     UITextAutocapitalizationTypeNone, 不自动大写
149     UITextAutocapitalizationTypeWords, 单词首字母大写
150     UITextAutocapitalizationTypeSentences, 句子的首字母大写
151     UITextAutocapitalizationTypeAllCharacters, 所有字母都大写
152 } UITextAutocapitalizationType;
153 
154 //return键变成什么键
155 text.returnKeyType =UIReturnKeyDone;
156 
157 typedef enum {
158     UIReturnKeyDefault,          //默认 灰色按钮,标有Return
159     UIReturnKeyGo,               //标有Go的蓝色按钮
160     UIReturnKeyGoogle,            //标有Google的蓝色按钮,用语搜索
161     UIReturnKeyJoin,              //标有Join的蓝色按钮
162     UIReturnKeyNext,              //标有Next的蓝色按钮
163     UIReturnKeyRoute,             //标有Route的蓝色按钮
164     UIReturnKeySearch,            //标有Search的蓝色按钮
165     UIReturnKeySend,              //标有Send的蓝色按钮
166     UIReturnKeyYahoo,             //标有Yahoo的蓝色按钮
167     UIReturnKeyYahoo,             //标有Yahoo的蓝色按钮
168     UIReturnKeyEmergencyCall,     //紧急呼叫按钮
169 } UIReturnKeyType;
170 
171 //键盘外观
172 textView.keyboardAppearance=UIKeyboardAppearanceDefault;
173 typedef enum {
174     UIKeyboardAppearanceDefault,   //默认外观,浅灰色
175     UIKeyboardAppearanceAlert,   //深灰 石墨色
176     
177 } UIReturnKeyType;
178 
179 
180 //设置代理 用于实现协议
181 text.delegate = self;
182 
183 //把textfield加到视图中
184 [self.window addSubview:text];
185 
186 //最右侧加图片是以下代码  左侧类似
187 UIImageView *image=[[UIImageView alloc] initWithImage:[UIImage imageNamed:@"right.png"]];
188 text.rightView=image;
189 text.rightViewMode = UITextFieldViewModeAlways;
190 typedef enum {
191     UITextFieldViewModeNever,
192     UITextFieldViewModeWhileEditing,
193     UITextFieldViewModeUnlessEditing,
194     UITextFieldViewModeAlways
195 } UITextFieldViewMode;
196 
197 
198 在处理密码等隐私类的信息时,可能需要将输入的信息隐藏一下。
199 
200 //每输入一个字符就变成点 ,用语密码输入
201 [passwordTextField setSecureTextEntry:YES];
202 
203 
204 也可以设置文本框关联的键盘,如下:
205 
206 //设置键盘的样式
207 text.keyboardType = UIKeyboardTypeNumberPad;
208 typedef enum {
209     UIKeyboardTypeDefault,                 //默认键盘,支持所有字符
210     UIKeyboardTypeASCIICapable,            //支持ASCII的默认键盘
211     UIKeyboardTypeNumbersAndPunctuation,   //标准电话键盘,支持+*#字符
212     UIKeyboardTypeURL,                      //URL键盘,支持.com按钮 只支持URL字符
213     UIKeyboardTypeNumberPad,               //数字键盘
214     UIKeyboardTypePhonePad,               //电话键盘
215     UIKeyboardTypeNamePhonePad,            //电话键盘,也支持输入人名
216     UIKeyboardTypeEmailAddress,            //用于输入电子 邮件地址的键盘
217     UIKeyboardTypeDecimalPad,              //数字键盘 有数字和小数点
218     UIKeyboardTypeTwitter,                 //优化的键盘,方便输入@、#字符
219     UIKeyboardTypeAlphabet = UIKeyboardTypeASCIICapable,
220 } UIKeyboardType;
221 
222 
223 有时需要限制输入文本的长度,这类操作也非常普遍和重要。
224 
225 //限制输入文本的长度
226 - (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
227 {
228     if ([textField.text length] > MAXLENGTH)
229     {
230         textField.text = [textField.text substringToIndex:MAXLENGTH-1];
231         return NO;
232     }
233     return YES; 
234 }
235 
236 
237 UIButton
238 
239 UIButton *button1 = [UIButton buttonWithType:UIButtonTypeRoundedRect];
240      //    能够定义的button类型有以下6种,
241      //    typedef enum {
242      //        UIButtonTypeCustom = 0,          自定义风格
243      //        UIButtonTypeRoundedRect,         圆角矩形
244      //        UIButtonTypeDetailDisclosure,    蓝色小箭头按钮,主要做详细说明用
245      //        UIButtonTypeInfoLight,           亮色感叹号
246      //        UIButtonTypeInfoDark,            暗色感叹号
247      //        UIButtonTypeContactAdd,          十字加号按钮
248      //    } UIButtonType;
249 
250          //给定button在view上的位置
251          button1.frame = CGRectMake(20, 20, 280, 20);
252 
253          //button背景色
254          button1.backgroundColor = [UIColor clearColor];
255 
256          //设置button填充图片
257          //[button1 setImage:[UIImage imageNamed:@"btng.png"] forState:UIControlStateNormal];
258 
259          //设置button标题
260          [button1 setTitle:@"点击" forState:UIControlStateNormal];
261          /* forState: 这个参数的作用是定义按钮的文字或图片在何种状态下才会显现*/
262         //以下是几种状态
263      //    enum {
264      //        UIControlStateNormal       = 0,         常规状态显现
265      //        UIControlStateHighlighted  = 1 << 0,    高亮状态显现
266      //        UIControlStateDisabled     = 1 << 1,    禁用的状态才会显现
267      //        UIControlStateSelected     = 1 << 2,    选中状态
268      //        UIControlStateApplication  = 0x00FF0000, 当应用程序标志时
269      //        UIControlStateReserved     = 0xFF000000  为内部框架预留,可以不管他
270      //    };
271 
272          /*
273                    * 默认情况下,当按钮高亮的情况下,图像的颜色会被画深一点,如果这下面的这个属性设置为no,
274                    * 那么可以去掉这个功能
275                   */
276          button1.adjustsImageWhenHighlighted = NO;
277          /*跟上面的情况一样,默认情况下,当按钮禁用的时候,图像会被画得深一点,设置NO可以取消设置*/
278          button1.adjustsImageWhenDisabled = NO;
279          /* 下面的这个属性设置为yes的状态下,按钮按下会发光*/
280          button1.showsTouchWhenHighlighted = YES;
281 
282          /* 给button添加事件,事件有很多种,我会单独开一篇博文介绍它们,下面这个时间的意思是
283                    按下按钮,并且手指离开屏幕的时候触发这个事件,跟web中的click事件一样。
284                    触发了这个事件以后,执行butClick:这个方法,addTarget:self 的意思是说,这个方法在本类中
285                    也可以传入其他类的指针*/
286          [button1 addTarget:self action:@selector(butClick:) forControlEvents:UIControlEventTouchUpInside];
287 
288          //显示控件
289          [self.view addSubview:button1];

 

posted @ 2016-07-04 16:57  雷坤  阅读(262)  评论(0编辑  收藏  举报