UI_基础视图(UILabel UITextField UIButton UIAlertView)

1.UILabel

a.创建

1、开辟空间并初始化(如果本类有初始化方法,使用自己的;否则使用父类的)。

2、设置文本控制相关的属性

3、添加到父视图上,用以显示
4、释放

UILabel *userNameLabel = [[UILabelalloc]initWithFrame:CGRectMake(30,100,100,30)];

   userNameLabel.text =@"用户名";

   [containerView addSubview:userNameLabel];

   [userNameLabel  release];

b.文本相关显示

文本显示相关:文本内容text,文本字体font,文本颜色textColor,文本对其方式tectAlignment,文本换行模式lineBreakMode,文本行数numberOfLines,文本阴影showColor等

1.UITextField

a.创建

1、开辟空间并初始化(如果本类有初始化方法,使用自己的;否则使用父类的)                                                              2、设置文本控制相关的属性   3、添加到父视图上用以显示 4、释放

UILabel *userNameLabel = [[UILabel allocinitWithFrame:CGRectMake(3010010030)];    userNameLabel.text = @"用户名";    [containerView addSubview:userNameLabel];    [userNameLabel release];

b. 属性

属性名                  描述                                                示例

text                    要显示的文本内容                        textField.text = @“lanoukeji”;
textColor           文本内容的颜色                            textField.textColor = [UIColor redColor];
textAlignment   文本的对齐方式(水平方向)   textField.textAlignment = NSTextAlignmentLeft;
font                    文本字体                                       textField.font = [UIFont fontWithName:@“Helvetica-Bold” size:20];//黑体加粗,20号字。
placeholder        占位字符串(没有任何输入时,给出的提示字符串) textField.placeholder = @“请输入用户名”


属性名

描述

示例

editing

是否允许输入

textField.editing =NO;//不允许输入,不弹出建键盘

textField.editing =YES;//默认是YES。允许输入

clearsOnBeginEditing

是否开始输入的时候清空输入框内容

textField.clearsOnBeginEditing = YES;//清空

textField.clearsOnBeginEditing = NO;//不清空

secureTextEntry

是否文字以圆点格式显示

textField.secureTextEntry = YES;//密码模式

textField.secureTextEntry = NO;//普通模式

keyboardType

弹出键盘的类型(枚举值)

textField.keyboardType = UIKeyboardTypeNumberPad; //数字键盘

returnKeyType

键盘右下角return按钮类型(枚举值)

textField.returnKeyType = UIReturnKeyNext;

inputView

自定义输入视图(默认是键盘)

textField.inputView = myInputView;

inputAccessoryView

输入视图上方的辅助视图(默认nil

textField.inputAccessoryView = myAccessoryView;


属性名

描述

示例

borderStyle

边框样式(枚举值)

textField.borderStyle = UITextBorderStyleRoundedRect;

clearButtonMode

清除按钮模式(枚举值)

textField.clearButtonMode = UITextFieldViewModeAlways; //总是显示清除按钮

leftView

输入框左视图

textField.leftView = leftView;

leftViewMode

左视图的显示模式

textField.leftViewMode = UITextFieldViewModeAlways; //总是显示左视图

rightView

输入框右视图

textField.rightView = rightView;

rightViewMode

右视图的显示模式

textField.rightViewMode = UITextFieldViewModeAlways;


3.UIButton

a.创建

创建UIButton与创建UILabel、UITextField、UIView的步骤很相似。


1、创建button对象(如果本类有初始化方法,使用自己的;否则使用父类的)。


2、设置按钮显示相关的属性


3、为按钮添加点击事件


4、添加按钮到父视图上,用以显示


5、按钮无需释放(因为使用的是类方法创建的button,如果是alloc创建,需释放)

UIButton *loginButton = [UIButton buttonWithType:UIButtonTypeSystem];
loginButton.frame = CGRectMake(30, 200, 60, 30);
[loginButton setTitle:@"登录" forState:UIControlStateNormal];
[loginButton addTarget:self action:@selector(login:) forControlEvents:UIControlEventTouchUpInside];
[containerView addSubview:loginButton];

b.属性

UIButton从父类UIControl那继承了控制相关的方法,比如添加事件、移除事件等

方法名

描述

示例

addTarget:action:forControlEvents:

为按钮添加事件,指定按钮点击之后,执行targetaction方法

[loginButton addTarget:self action:@selector(login:) forControlEvents:UIControlEventTouchUpInside];

removeTarget:action:forControlEvents:

移除按钮的点击事件

[loginButton removeTarget:self action:@selector(login:) forControlEvents:UIControlEventTouchUpInside];


4.UIAlertView


a.创建UIAlertView的步骤如下:
1、开辟空间并初始化视图(初始化时,给出视图位置和大小)。
3、调用UIAlertView的show方法,呈现提示框。
4、释放UIAlertView对象

UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"提示" message:@"请妥善保管好你的密码" delegate:nil cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];
[alertView show];
[alertView release];

5.delegate

delegate是MVC设计模式中(delegate也是设计模式),V与C通信的方式之一。在iOS中广泛使用。核心价值在于实现回调,起到解耦的作用。

如果一个类有些方法自己不方便实现或者别的类实现更好,这个时候就可以使用delegate这种设计模式了。

a.点return回收键盘

点击键盘return按钮实现键盘回收的步骤:
1、将AppDelete作为UITextField的delegate
2、AppDelete.h文件接受UITextFieldDelegate协议
3、AppDelete.m文件实现textFieldShouldReturn:方法

b.键盘回收代码AppDelegate.m
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textField resignFirstResponder];
return YES;

}

c.处理alertView点击

1、将AppDelete作为UIAlertView的delegate
2、AppDelete.h文件接受UIAlertViewDelegate协议
3、AppDelete.m文件实现alertView:clickedButtonAtIndex:方法

alertView响应点击

AppDelegate.m
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
switch (buttonIndex) {
case 0:
NSLog(@"点了取消,取消按钮的下标为0");
break;
case 1:
NSLog(@"点了确定按钮,确定按钮的下标为1");
break;
default:
break;
}

6.总结

UITextField不应该在类内部(.m文件)实现textFieldShouldReturn:,应为有时候,我们点return的时候,并不总是想回收键盘,例如:有两个输入框,第一个输入框输入完成之后,用户点return按钮,将光标移动到第二个输入框(即:第二个输入框称为第一响应者)
UIAlertView不应该在类内部(.m文件)实现alertView:clickedButtonAtIndex:方法,因为UIAlertView自己并不知道点击按钮之后要做什么事。
对于一个V来说,自己只负责触发事件,事件由外界实现,即delegate。

7.课上代码

#pragma mark_
#pragma mark 登录按钮的点击事件

- (void)loginAction:(id)sender
{
NSLog(@"%s",__func__);
NSLog(@"sender == %@",sender);
[self.view3 resignFirstResponder];
// 获得输入框内容
NSString * user = self.view3.text;
NSLog(@"user == %@",user);
if ([user isEqualToString:@"123456"]) {
UIAlertView * alert = [[UIAlertView alloc] initWithTitle:@"提示" message:@"输入正确" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"正确",@"返回", nil];
// 显示警告框
[alert show]; 

[alert release];


- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
NSLog(@"alertView === %@",alertView);
NSLog(@"buttonIndex == %d",buttonIndex);
if (1 == buttonIndex) {
[self.view3 setText:@""];
}
}

// 左右视图:setLeftView和setLeftViewMode配合使用
[_view3 setLeftView:left];
[_view3 setLeftViewMode:UITextFieldViewModeAlways];
// 设置数字键
// [view3 setKeyboardType:UIKeyboardTypeNumberPad];
// 把键盘上的return改成Done
[_view3 setReturnKeyType:UIReturnKeyDone];
// 设置密码不可见
[_view3 setSecureTextEntry:NO];

}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值