一、UILabel
1、UILabel(标签):是显示文本的空间。在App中UILabel是出现频率最高的控件。
2、UILabel是UIView的子类,作为子类一般是为了扩充父类的功能UILabel扩展了文字显示的功能,UILabel是能显示文字的视图。
3、创建UILabel
// 创建UILabel对象 UILabel *userNameLabel = [[UILabel alloc] initWithFrame:CGRectMake(, , , )]; // 设置文字 userNameLabel.text = @"用户名"; // 将UILabel添加到父视图 [self.window addSubview:userNameLabel]; // 释放所有权(MRC模式下) // [userNameLabel release]; // 创建UILabel对象(适配屏幕) UILabel *userNameLabel = [[UILabel alloc] initWithFrame:CGRectMake(, , , )]; UILabel *l1 = [[UILabel alloc] initWithFrame:CGRectMake(CGRectGetMaxX(userNameLabel.frame) + , CGRectGetMinY(userNameLabel.frame), CGRectGetWidth(self.window.frame) - CGRectGetWidth(userNameLabel.frame) - , CGRectGetHeight(userNameLabel.frame))]; UILabel *l2 = [[UILabel alloc] initWithFrame:CGRectMake(CGRectGetMinX(userNameLabel.frame), CGRectGetMaxY(userNameLabel.frame) + , CGRectGetWidth(userNameLabel.frame), CGRectGetHeight(userNameLabel.frame))]; UILabel *l3 = [[UILabel alloc] initWithFrame:CGRectMake(CGRectGetMaxX(userNameLabel.frame) + , CGRectGetMaxY(userNameLabel.frame) + , CGRectGetWidth(self.window.frame) - CGRectGetWidth(userNameLabel.frame) - , CGRectGetHeight(userNameLabel.frame))];
4、UILabel属性设置(常用)
// 设置背景颜色 userNameLabel.backgroundColor = [UIColor cyanColor]; // 设置文本对齐方式 userNameLabel.textAlignment = NSTextAlignmentRight; // 设置文字颜色 userNameLabel.textColor = [UIColor purpleColor]; // 设置字体 userNameLabel.font = [UIFont fontWithName:]; // 打印所有字体样式 NSLog(@"%@", [UIFont familyNames]); // 显示行数 userNameLabel.numberOfLines = ; //断行模式(以单词断行) userNameLabel.lineBreakMode = NSLineBreakByWordWrapping; // 阴影颜色 userNameLabel.shadowColor = [UIColor blackColor]; // 阴影大小 userNameLabel.shadowOffset = CGSizeMake(, );
二、UITextField
1、UITextField(输入框):是控制文本输入和显示的空间。在App中UITextField出现频率也比较高。iOS系统借助虚拟键盘实现输入,当点击输入框,系统会自动调出键盘,方便你进一步操作。在你不需要输入的时候,可以使用收回键盘的方法,收回弹出的键盘。
2、UITextField和UILabel相比,UILabel主要用于文字显示,不能编辑,UITextField允许用户编辑文字(输入)。
3、创建UITextField对象
// 创建UITextField对象 UITextField *userNameTextField = [[UITextField alloc] initWithFrame:CGRectMake(, , , )]; // 设置边框风格 userNameTextField.borderStyle = UITextBorderStyle RoundedRect; // 设置占位符 userNameTextField.placeholder = @"手机号/邮箱"; // 将UITextField添加到父视图 [self.window addSubview:userNameTextField]; // 释放所有权(MRC) [userNameTextField release];
4、UITextField文本显示属性
// 设置文本内容 userNameTextField.text = @"用户名:"; userNameTextField.textColor = [UIColor blackColor]; // 文本对齐方式 userNameTextField.textAlignment = NSTextAlignmentLeft;
5、UITextField输入控制属性
// 是否允许编辑 userNameTextField.enabled = YES; // 开始编辑时是否清空输入框 userNameTextField.clearsOnBeginEditing = YES; //是否安全输入 userNameTextField.secureTextEntry = YES; // 弹出键盘的类型 userNameTextField.keyboardType = UIKeyboardTypeAlphabet; // 键盘右下角return按钮类型(枚举值) userNameTextField.returnKeyType = UIReturnKeyDefault;
6、UITextField外观控制属性
// 清除按钮模式 userNameTextField.clearButtonMode = UITextFieldViewModeWhileEditing; // 输入框左视图 UIView *leftView = [[UIView alloc] initWithFrame:CGRectMake(, , , )]; leftView.backgroundColor = [UIColor yellowColor]; userNameTextField.leftView = leftView; userNameTextField.leftViewMode = UITextFieldViewModeAlways; // 输入框右视图 UIView *rightView = [[UIView alloc] initWithFrame:CGRectMake(, , , )]; rightView.backgroundColor = [UIColor redColor]; userNameTextField.rightView = rightView; userNameTextField.rightViewMode = UITextFieldViewModeAlways;
7、UITextField添加回收键盘方法
// 1.设置代理 userNameTextField.delegate = self; // 2.遵守协议 @interface AppDelegate : UIResponder <UIApplicationDelegate,UITextFieldDelegate> // 3.实现协议方法 - (BOOL)textFieldShouldReturn:(UITextField *)textField { NSLog(@"键盘上回车按键"); [textField resignFirstResponder]; return YES; } // 成为第一响应者,运行就进入编辑状态 [userNameTextField becomeFirstResponder];
7、UITextField常用代理方法
// 1.当textField将要开始编辑的时候告诉委托人 - (BOOL)textFieldShouldBeginEditing:(UITextField *)textField { return YES; } // 2.当textField已经编辑的时候告诉委托人 - (void)textFieldDidBeginEditing:(UITextField *)textField { } // 3.当textField将要完成编辑的时候告诉委托人 - (BOOL)textFieldShouldEndEditing:(UITextField *)textField { return YES; } // 4.当textField已经完成编辑的时候告诉委托人 - (void)textFieldDidEndEditing:(UITextField *)textField { } // 5.当点击键盘上回车按键时候告诉委托人 - (BOOL)textFieldShouldReturn:(UITextField *)textField { return YES; }
三、UIButton
1、UIButton(按钮):是响应用户点击的空间。在App中UIButton是出现频率很高的控件。
2、UIButton与UILabel、UITextField侧重点不同,侧重于处理用户交互事件。当然UIButton类也提供了一些方法控制按钮外观。
3、创建UIButton,设置常用属性
// 1.创建对象并初始化 (使用类方法) UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem]; // 2.设置属性 button.frame = CGRectMake(, , , ); button.backgroundColor = [UIColor orangeColor]; // 设置标题 普通状态下 [button setTitle:@"点 我" forState:UIControlStateNormal]; // 设置标题 高亮状态下(点住) [button setTitle:@"谁点我" forState:UIControlStateHighlighted]; // 设置标题颜色 button.tintColor = [UIColor whiteColor]; // 设置button的背景图片 // 创建UIImage对象 UIImage *afuImage = [UIImage imageNamed:@"afu.jpg"]; // 普通状态下 [button setBackgroundImage:afuImage forState:UIControlStateNormal]; // 高亮状态下 [button setBackgroundImage:[UIImage imageNamed:@"zhatian.jpg"] forState:UIControlStateHighlighted]; // 设置前景图片(必须是镂空图) [button setImage:[UIImage imageNamed:@"222.png"] forState:UIControlStateNormal]; // 3.添加事件 // 单击状态下 [button addTarget:self action:@selector(buttonClick:) forControlEvents:UIControlEventTouchUpInside]; // 4.添加到父视图 [self.window addSubview:button];
3、实现点击事件
// 实现按钮点击事件 - (void)buttonClick:(UIButton *)sender { NSLog(@"点我"); sender.backgroundColor = [UIColor colorWithRed:arc4random() % / / / ]; // 移除事件 [sender removeTarget:self action:@selector(buttonClick:) forControlEvents:UIControlEventTouchUpInside]; }
四、UIImageView
1、UIImageView是iOS中用于显示图片的类,它相当于一个相框,专门用作显示图片,可以存放一个图片或一组图片。
2、创建UIImageView对象(添加一组动态图片示例代码)
05-06 04:57