UILable / UITextField / UIButton
#pragma mark - UILable知识点
// UILable(标签),继承自UIView,主要用来显示文本,是在UIView基础上扩充出来的功能
/*
1.创建控件
2.配置控件的属性
3.添加到父视图
4.释放控件
// 2.配置UILable的属性
// 2.1 背景颜色
lable.backgroundColor = [UIColor greenColor];
// 2.2 设置显示的文本
lable.text = @"AV达人 zhaoYaZhou and liuNing and liGuoQing and wangZhongJian";
// 2.3 设置文本颜色
lable.textColor = [UIColor whiteColor];
// 2.4 设置文本字体
// 设置的是系统默认字体大小
lable.font = [UIFont systemFontOfSize:10];
// 字体采用加粗的字体样式
lable.font = [UIFont boldSystemFontOfSize:40];
NSLog(@"%@", name);
// 2.5 设置文本行数
// numberOfLines 设置为0,表示不限制行数,自动填充到lable中
// numberOfLines 默认值是1
lable.numberOfLines = 0;
// 2.6 设置换行格式
// 根据单词换行
//NSLineBreakByWordWrapping (默认)
// 根据字符换行
lable.lineBreakMode = NSLineBreakByCharWrapping;
// 2.7 设置字体的阴影颜色
lable.shadowColor = [UIColor redColor];
// 2.8 设置阴影偏移量
lable.shadowOffset = CGSizeMake(-2, -2);
// 2.9 设置文本对齐方式
// NSTextAlignmentLeft 左对齐
// NSTextAlignmentRight 右对齐
// NSTextAlignmentCenter 居中
lable.textAlignment = NSTextAlignmentCenter;
// 2.10 给lable切圆角,下面两个属性要同时设定
lable.layer.cornerRadius = 20;
lable.layer.masksToBounds = YES;
// 3.添加到父视图
[contentView addSubview:lable];
// 4.释放控件
#pragma mark - UITextField知识点
// 1. 创建UITextField对象
UITextField *textField = [[UITextField alloc]initWithFrame:CGRectMake(10, 200, 300, 40)]; // 也是使用父类的方法创建
// 2. 配置UITextField的属性
// 2.1 设置背景颜色
textField.backgroundColor = [UIColor whiteColor];
// 2.2 设置textField的提示字符
textField.placeholder = @"请输入名字";
// 2.3 设置输入框中的文本
textField.text = @"AV达人";
// 2.4 设置文本输入框字体的颜色 (只影响输入字体的颜色,不影响提示字符)
textField.textColor = [UIColor orangeColor];
// 2.5 设置文本输入的对齐方式
textField.textAlignment = NSTextAlignmentLeft;
// 2.6 设置textField输入框是否可以编辑.默认是可编辑的
//textField.enabled = NO;
// 关闭用户交互
//textField.userInteractionEnabled = NO;
// 2.7 当文本输入框开始编辑的时候是否清空输入框中的内容,默认值是NO,只在第一次起作用
textField.clearsOnBeginEditing = YES;
// 2.8 设置键盘弹出的样式.
textField.keyboardType = UIKeyboardTypeDefault;
// 2.9 设置return键的样式
textField.returnKeyType = UIReturnKeyGo;
// 2.10 设置输入边框的样式
/*
UITextBorderStyleNone, // 无边框样式
UITextBorderStyleLine, // 实线边框
UITextBorderStyleBezel, // 倾斜面边框
UITextBorderStyleRoundedRect // 圆角边框
*/
// 2.11 设置键盘的弹出视图, 可以在弹出视图上自定义键盘
/*
UIView *inputView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 40)];
inputView.backgroundColor = [UIColor cyanColor];
textField.inputView = inputView;
[inputView release];
*/
// 2.12 设置键盘的辅助视图
UIView *accseeView = [[UIView alloc] initWithFrame:CGRectMake(0, 0, 320, 40)];
accseeView.backgroundColor = [UIColor redColor];
textField.inputAccessoryView = accseeView;
[accseeView release];
// 2.13 设置文本输入框的清空按钮
/*
UITextFieldViewModeNever,
UITextFieldViewModeWhileEditing, // 开始编辑时出现清空按钮
UITextFieldViewModeUnlessEditing, // 当不编辑时弹出清空按钮,编辑时按钮消失
UITextFieldViewModeAlways // 一直显示,除非输入框中没有内容
*/
textField.clearButtonMode = UITextFieldViewModeUnlessEditing;
// 2.14 设置文本输入框是否以密文形式显示输入内容
textField.secureTextEntry = YES;
// 2.15 设置代理属性
/*
如何使用系统写好的协议设置代理
1. 设置代理
2. 让代理对象遵循协议
3. 实现协议中的方法
4. 告诉代理什么时候去干活
*/
textField.tag = 250;
// called when 'return' key pressed. return NO to ignore.
// 当点击return按钮的时候触发此方法
- (BOOL)textFieldShouldReturn:(UITextField *)textField { // textField会自动传过来,不用管
// 取消第一响应者 取消的效果就是回收键盘
[textField resignFirstResponder];
return YES;
[contentView addSubview:textField];
// 4.释放
/*
如何使用系统写好的协议设置代理
1. 设置代理
2. 让代理对象遵循协议
3. 实现协议中的方法
4. 告诉代理什么时候去干活 (点击return的时候)
// called when 'return' key pressed. return NO to ignore.
// 当点击return按钮的时候触发此方法
- (BOOL)textFieldShouldReturn:(UITextField *)textField { // textField会自动传过来,不用管
// 取消第一响应者 取消的效果就是回收键盘
[textField resignFirstResponder];
return YES;
// 点击屏幕时,手指离开的瞬间触发
- (void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
// 先拿到contentView
UIView *contentView = [self.window viewWithTag:200];
// 通过tag值取出textField
UITextField *textField = (UITextField *)[contentView viewWithTag:250];
// 取消第一响应者
[textField resignFirstResponder];
-(void)touchesEnded:(NSSet *)touches withEvent:(UIEvent *)event {
for (int i = 200; i < 206; i++) {
LTView *t = (LTView *)[self viewWithTag:i];
[t.textField resignFirstResponder];
}
#pragma mark - UIButton知识点
// UIButton 继承自UIControl,是iOS中用来响应用户点击事件的按钮
// UIButton 有自己的创建方法
// 1. 创建UIButton对象
/*button的样式
UIButtonTypeCustom , //!!!! 自定义样式, 如果要给button添加图片,必须使用此种样式
UIButtonTypeDetailDisclosure, // 详情按钮
UIButtonTypeInfoLight, // 详情按钮
UIButtonTypeInfoDark, // 详情按钮
UIButtonTypeContactAdd, // 加号按钮
*/
UIButton *button = [UIButton buttonWithType:UIButtonTypeSystem]; // 不用释放button
// 2.配置button的属性
// 2.1 背景颜色
button.backgroundColor = [UIColor cyanColor];
// 2.2 单独设置button的frame(位置和大小)
button.frame= CGRectMake(30, 260, 260, 50);
// 2.3 给button切圆角
button.layer.cornerRadius = 7;
//! 2.4 给button添加标题, 注意添加标题的时候一定要指明,button的状态
/*状态
UIControlStateNormal = 0,
UIControlStateHighlighted = 1 << 0, // used when UIControl isHighlighted is set
UIControlStateDisabled = 1 << 1,
UIControlStateSelected = 1 << 2, // flag usable by app (see below)
UIControlStateApplication = 0x00FF0000, // additional flags available for application use
UIControlStateReserved = 0xFF000000
*/
//[button setTitle:@"正常状态" forState:UIControlStateNormal];
//[button setTitle:@"高亮状态" forState:UIControlStateHighlighted]; // 按住不丢
//[button setTitle:@"不可用状态" forState:UIControlStateDisabled];
//[button setTitle:@"可选中状态" forState:UIControlStateSelected]; // 触发不了
[button setTitle:@"登录" forState:UIControlStateNormal];
// 2.5 设置button的状态是否可用
//button.enabled = NO;
// 2.6 设置button上title的文字大小
//! button是个复合视图,集成了几种控件, 其中titleLable是用来放置标题的,还有一个imageView用来显示图片
button.titleLabel.font = [UIFont systemFontOfSize:20];
// 2.7 设置button内容的颜色
// [button.titleLabel.textColor] = [UIColor redColor]; // 这种改不了文本颜色
button.tintColor = [UIColor grayColor]; // tintColor
/*
// 2.8 给button添加图片
//! 要添加图片,要换成 UIButton *button = [UIButton buttonWithType:UIButtonTypeCustom]; 自定义格式才能添加图片
// UIImage 继承自NSObject,不是一个视图,如果要展示UIImage需要使用UIImageView来展示
// .png格式的图片不需要加后缀,其他格式都需要加后缀
UIImage *image1 = [UIImage imageNamed:@"立即.jpg"]; // png格式的图片不需要加后缀了
UIImage *image2 = [UIImage imageNamed:@"立即登录.jpg"];
// 高亮状态
[button setImage:image1 forState:UIControlStateHighlighted]; // 会和文本抢地盘 ,二选一,要么添加图片,要么添加文本
// 正常状态
[button setImage:image2 forState:UIControlStateNormal];
*/
//! button关联事件
// 1. target : button指定的响应对象
// 2. action : 指定的响应对象调用的方法
// 3. events : 事件的触发时机
[button addTarget:self action:@selector(handleAction:) forControlEvents:UIControlEventTouchUpInside];
// 3. 添加到父视图上
- (void)handleAction:(UIButton *)button { // 自动传进来参数
NSLog(@"鼓掌");
//! 取出某个状态下的button标题 VIP
NSString *title = [button titleForState:UIControlStateNormal];
// 添加关联事件
if ([title isEqualToString:@"登录"]) {
[button setTitle:@"下线" forState:UIControlStateNormal];
}else if ([title isEqualToString:@"下线"]) {
[button setTitle:@"登录" forState:UIControlStateNormal];
}
UILable / UITextField / UIButton的更多相关文章
- iOS 注册或登录页面(UILable,UITextField,UIButton)
注册或登录页面 例如下面的附图 1,为了在这里展示UITextField文本框关联的键盘设置.在这里,"password"和"判定password"关联键盘被设 ...
- iOS学习21之UILabel, UITextField, UIButton, UIImageView
1.UILabel 1> 概述 UILabel (标签): 是显示文本的控件.在App中 UILabel 是出现频率最高的控件 UILabel 是 UIView 子类,作为子类一般是为了扩充父类 ...
- UILabel,UITextField,UIButton三大基础控件总结
(一)UILabel空件 属性: 1.背景颜色 label.backgroundColor = [UIColor ***]; 2. 显示文字: label.text = @"******&q ...
- IOS的UITextField,UIButton,UIWebView它描述的一些属性和IOS提示图像资源
有时UI要开发的资源与实际frame不符.这一次,我们要绘制图片 UIImage* image = [[UIImage imageNamed:@"text_field_bg.png" ...
- iOS 开发笔记-UILable/UIFont/UIButton常见设置
UILabel的常见设置 @property(nonatomic,copy) NSString *text; 显示的文字 @property(nonatomic,retain) UIFont *fon ...
- iOS 让UIButton根据文字内容自动计算宽高
Xcode自带的UIButton控件是没有办法根据文字内容计算自身的宽和高的,下面演示一下问题, 我用代码方式创建一个UIButton,并且设置了一些属性,下面看一下效果图 一切都是这么的美好,跟我们 ...
- ReactiveCocoa 和 MVVM 入门 (转)
翻译自ReactiveCocoa and MVVM, an Introduction. 文中引用的 Gist 可能无法显示.为了和谐社会, 请科学上网. MVC 任何一个正经开发过一阵子软件的人都熟悉 ...
- 【长篇高能】ReactiveCocoa 和 MVVM 入门
翻译自ReactiveCocoa and MVVM, an Introduction. 文中引用的 Gist 可能无法显示.为了和谐社会, 请科学上网. MVC 任何一个正经开发过一阵子软件的人都熟悉 ...
- 【转】伟大的RAC和MVVM入门(一)
原文:http://www.sprynthesis.com/2014/12/06/reactivecocoa-mvvm-introduction/ 翻译自ReactiveCocoa and MVV ...
随机推荐
- CentOS 7 之Shell学习笔记
脚本是个永恒的话题,以前Dos下面也有Shell编程这一说的,比如说BAT文件有人写的好的话,也是瞬间速度变高大上.Linux下面这个应该更占比重了.我看到园子里有位园友做了一个Linux Shell ...
- php 被抛弃使用的函数
call_user_method()(使用 call_user_func() 替代) call_user_method_array() (使用 call_user_func_array() 替 ...
- with语句
<script type="text/javascript"> /* with语句:有了 With 语句,在存取对象属性和调用方法时就不用重复指定对象. 格式: wit ...
- Notepad++ Java开发环境配置
1. 安装JDK 下载JDK 6下载 http://developers.sun.com.cn/download/java_se.html 运行安装程序,按照屏幕提示完成JDK 6的安装,下面为安装路 ...
- Usage、Usage Minimum和Usage Maximum项目详解
(1)一个产生多个数据域(Report Count>1)的主项目之前有一个以上的[用途]时,每个[用途]与一个数据域依次对应,如果数据域个数(Report Count)超过[用途]的个数,则剩余 ...
- Open Wifi SSID Broadcast vulnerability
Open Wifi SSID Broadcast vulnerability 0x00 前言 前几天,看到微博上@RAyH4c分享了一份老外关于wifi钓鱼的文章,觉得挺好的,便翻译了一下.第一次翻译 ...
- 设计模式(七):Adapter 适配器模式 -- 结构型模式
1. 概述: 接口的改变,是一个需要程序员们必须(虽然很不情愿)接受和处理的普遍问题.程序提供者们修改他们的代码;系统库被修正;各种程序语言以及相关库的发展和进化. 例子1:iphone4,你即可以 ...
- gcc编译时头文件库文件搜索顺序(转)
原文: http://blog.csdn.net/silentfly1987/article/details/6119195
- PCanywhere/teamviewer/RDP/ultraVNC/tigerVNC/realVNC/Xmanager
PCanywhere/teamviewer/RDP/ultraVNC/tigerVNC/realVNC/Xmanager 1, 通常应用场景一般CentOS/RHEL等linux系统不配置安装Desk ...
- MYSQL存储过程和函数学习笔记
学至Tarena金牌讲师,金色晨曦科技公司技术总监沙利穆课程笔记的综合. 1. 什么是存储过程和函数 将SQL语句放入一个集合里,然后直接调用存储过程和函数来执行已经定义好的SQL语句,通过存储过程和 ...