签订协议
// 系统协议的使用
// 1,签订协议
@interface MainViewController : UIViewController <UIAlertViewDelegate, UITextFieldDelegate>
@end
指定试图的代理人
// 指定视图的代理人
textField.delegate = self;
textField.tag = 10000;
[textField release];
执行
- (void)buttonClicked:(UIButton *)button
{
// 2,指定该view的代理人(delegate),一般都是写self(当前类的一个对象)
UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"提示" message:@"嗨嗨" delegate:self cancelButtonTitle:@"取消" otherButtonTitles:@"确定", @"确定2", nil];
[alertView show];
[alertView release];
}
实现相应的协议方法
// 3,实现相应的协议方法
- (void)alertView:(UIAlertView *)alertView clickedButtonAtIndex:(NSInteger)buttonIndex
{
// 点击了alertView上的哪个按钮
NSLog(@"%d", buttonIndex); // 点击“取消”,显示0,其他的依次往上加1
}
输入框是否可以输入
// 输入框是否可以输入
- (BOOL)textFieldShouldBeginEditing:(UITextField *)textField
{
NSLog(@"抢钱!");
// 是否可以让用户输入
return YES; //YES可以输入,NO不可以输入
}
限制用户输入的字符
// 限制用户输入的字符,
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
if ([string isEqualToString:@"a"]) {
return NO; // 输入框不准输入“a”
}
NSLog(@"%@", string);
return YES;
}
清除键是否有用
// 清除键是否有用
- (BOOL)textFieldShouldClear:(UITextField *)textField
{
return NO; // 默认有用,NO表示不可清除
}
使用return回收键盘
// return回收键盘
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
//回收键盘
[textField resignFirstResponder];
return YES;
}