<UITextFieldDelegate>//self代理遵守协议
//实现回收键盘方法
- (BOOL)textFieldShouldReturn:(UITextField *)textField{
//让当前输入框取消第一响应者当前输入框 就是该方法textFieldShouldReturn后面的参数传递过来的输入框
// [textField resignFirstResponder];//resignFirstResponder
//依据tag值来判断 if是最后一个输入框
if (3 != textField.tag) {
// 如果不是最后一个取消当前输入框 让下一个输入框成为第一响应者
[textField resignFirstResponder];
//取到下一个输入框通过tag去取 //强行转换类型
UITextField *nextTextField = (UITextField *) [self.windowviewWithTag:textField.tag +1];
//下一个成为第一响应者
[nextTextField becomeFirstResponder];
}else{
//=3说明是最后一个输入框取消第一响应者
[textField resignFirstResponder];
}
returnYES;
}
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
self.window = [[[UIWindowalloc] initWithFrame:[[UIScreenmainScreen] bounds]]autorelease];
// Override point for customization after application launch.
self.window.backgroundColor = [UIColorwhiteColor];
[self.windowmakeKeyAndVisible];
/*
// 1、开辟空间并初始化(如果本类有初始化⽅方法,使用⾃⼰的;否则使⽤用⽗父类的)。
// 2、设置⽂文本显⽰示、输⼊入相关的属性
// 3、添加到⽗视图上,用以显⽰示
// 4、释放
// UITextField
// 1.创建初始化
UITextField *textField = [[UITextField alloc] initWithFrame:CGRectMake(50, 50, 200, 40)];
// placeholder 占位字符串(没有任何输⼊入时,给出的提⽰示字符串)
// 2.设置属性
textField.placeholder = @"请输入密码";//提示输入占位符
textField.borderStyle = UITextBorderStyleRoundedRect;//圆角边框
// 3.添加到父视图
[self.window addSubview:textField];
//4、释放
[textField release];
// keyboardType 弹出键盘的类型(枚举值)
// II
// 1.创建对象 初始化
UITextField *textField2 = [[UITextField alloc] initWithFrame:CGRectMake(50, 110, 200, 40)];
textField2.borderStyle = UITextBorderStyleLine;
// 2.设置属性
//文本属性 placeholder textAlignment
textField2.placeholder = @"请输入密码吧";//
textField2.text = @"122345";
textField2.textColor = [UIColor blueColor];
textField2.textAlignment = NSTextAlignmentLeft;
//输入控制
// 输入开始:enabled 清除
textField2.enabled = YES;//默认YES而NO不允许输入
textField2.clearsOnBeginEditing = YES;//清除输入框原有内容
//输入时:安全方式
textField2.secureTextEntry = YES;//安全输入方式
// textField2.keyboardType = UIKeyboardTypeNumberPad;//数字键盘默认为全字母键盘
//输入后
textField2.returnKeyType = UIReturnKeyNext;
//外观属性 边框样式 清除按钮 左视图 右视图
//边框样式
textField2.borderStyle = UITextBorderStyleRoundedRect;//圆角样式
// textField2.clearButtonMode = UITextFieldViewModeAlways;//始终显示
// textField2.clearButtonMode = UITextFieldViewModeNever;//始终不显示
// textField2.clearButtonMode = UITextFieldViewModeUnlessEditing;//编辑ing才显示
textField2.clearButtonMode = UITextFieldViewModeWhileEditing;//不编辑 才显示
*/
// 二、UIButton 便利构造器初始化 无需release
// + (instancetype)buttonWithType:(UIButtonType)buttonType
// 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];
// 创建Button步骤
// 1.便利构造器创建对象 buttonWithType
UIButton *loginbutton = [UIButtonbuttonWithType:UIButtonTypeSystem];
//通常我们使用系统样式或者 自定义样式自己去定义
//系统样式提供了标题的默认字体16 和颜色{蓝色}
//属性
loginbutton.frame =CGRectMake(100,300, 145,46);
// [loginbutton setTitle:@"登陆" forState:(UIControlStateNormal)];//没有点击的时候标题为登陆
[loginbutton setBackgroundImage:[UIImageimageNamed:@"1.jpg"]forState:(UIControlStateNormal)];
//添加点击事件
[loginbutton addTarget:selfaction:@selector(login)forControlEvents:(UIControlEventTouchUpInside)];
//点击button 让目标target 执行相应的事件action
// target 执行action的目标对象 self此时是AppDelegate
// action 执行的方法 login
// events 何时触发 当button抬起和点击的时候触发
// self写在哪个类内部 哪个类的对象就是self
//add
[self.windowaddSubview:loginbutton];
//注册按钮
UIButton *button = [UIButtonbuttonWithType:UIButtonTypeSystem];
button.frame =CGRectMake(100,150, 145,46);
[button setBackgroundImage:[UIImageimageNamed:@"9ZDCZFDD5H3%5NX36(`][EU.ipg"]forState:(UIControlStateHighlighted)];
// [button setTitle:@"注册" forState:UIControlStateNormal];
[button addTarget:selfaction:@selector(register)forControlEvents:UIControlEventTouchUpInside];
[self.windowaddSubview:button];
// 输入框代理 delegate
UITextField *textField = [[UITextFieldalloc] initWithFrame:CGRectMake(100,50, 200,40)];
textField.borderStyle =UITextBorderStyleBezel;
textField.tag =1;
textField.placeholder =@"请输入用户名";
// 给textField设置代理
textField.delegate =self;//点语法实现代理 代理为self 即APPDelegate 遵守协议 实现方法
[self.windowaddSubview:textField];
[textField release];
UITextField *textField2 = [[UITextFieldalloc] initWithFrame:CGRectMake(100,100, 200,40)];
textField2.borderStyle =UITextBorderStyleBezel;
textField2.tag =2;
textField2.placeholder=@"xlsn0w";
textField2.delegate =self;
[self.windowaddSubview:textField2];
[textField2 release];
UITextField *textField3 = [[UITextFieldalloc] initWithFrame:CGRectMake(100,150, 200,40)];
textField3.borderStyle =UITextBorderStyleBezel;
textField3.tag =3;
textField3.placeholder=@"xlsn0w";
textField3.delegate =self;
[self.windowaddSubview:textField3];
[textField3 release];
returnYES;
}
//点击
- (void)login {
NSLog(@"登陆操作反馈");
}
- (void)register {
NSLog(@"注册操作");
}