@提示协议和操作协议
通常人们在使用一款iOS应用的时候,时常会在点击应用按钮中时弹出提示框,提问用户是否继续所需要进行的操作,或者取消刚刚选中的操作.这种操作的实现在iOS开发中是提示协议UIAlertViewDelegate的使用,利用这个协议的代理方法来进行提示框的实现.
一、举例解释并实现提示框
//以下是在遵守了提示协议之后,实现提示框创建的过程
UIAlertView * alertView = [[UIAlertView alloc]initWithTitle:@"提示" message:@"确认执行?" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];
//提示框应用的具体实例展示
1、首先创建一个按钮Button
2、
//给登陆按钮添加的响应事件
-(void)didClickLoginButtonAction:(UIButton *)button
{
if ([_usernameTextField.text isEqualToString:UserName]&&[_passwordTextField.text isEqualToString:Password]) {
//用户名和密码都正确,显示登陆成功的提示框
UIAlertView * alertView = [[UIAlertView alloc]initWithTitle:@"提示" message:@"欢迎回来" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];
[alertView show];
[alertView release];
}else{//如果用户名和密码有一个不正确,显示错误的提示框
UIAlertView * alertView = [[UIAlertView alloc]initWithTitle:@"提示" message:@"用户名或密码错误" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", nil];
[alertView show];
[alertView release];
}
}
//选中提示框的确认或取消后的实现执行方法的方法
-(void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex//代理方法 任何一个按钮被按 都会执行(键盘都回收)
{
[_usernameTextField resignFirstResponder];
[_passwordTextField resignFirstResponder];
}
二、解释并举例文本输入框UITextField的协议方法UITextFieldDelegate
通常用户在使用应用程序时会有输入文本的输入框,当输入时会弹出键盘,这个时候的一系列操作就要利用文本输入框的操作协议和代理方法,例如:打字完收回键盘等...
//举例说明并实现输入框的协议方法
//接上面的举例来实现键盘回收的代理方法
-(BOOL)textFieldShouldReturn:(UITextField *)textField//return回收键盘的代理方法
{
[textField resignFirstResponder];
return YES;
}
注:在前面创建文本输入框UITextField时要设置代理
利用前面的两个文本输入框的属性,设置代理
_usernameTextField.delegate = self;
_passwordTextField.delegate = self;
@实现的截图: