1.登陸 UITextViewcode
1.1 UITextView實現placeholder,可多行編輯it
-(void)setPassword{ UILabel *password = [[UILabel alloc]initWithFrame:CGRectMake(20, 200, 80, 50)]; password.text = @"密 碼"; [self.view addSubview:password]; UITextView * passwordText = [[UITextView alloc]initWithFrame:CGRectMake(100, 210, 200, 30)]; passwordText.text = @"請輸入密碼..."; passwordText.autoresizingMask = UIViewAutoresizingFlexibleHeight| UIViewAutoresizingFlexibleWidth; passwordText.font = [UIFont systemFontOfSize:16]; passwordText.backgroundColor = [UIColor whiteColor]; passwordText.hidden = NO; passwordText.delegate = self; self.passwordText = passwordText; [self.view addSubview:self.passwordText]; } -(void)setUser{ UILabel *user = [[UILabel alloc]initWithFrame:CGRectMake(20, 100, 80, 50)]; user.text = @"用戶名"; [self.view addSubview:user]; UITextView * userText = [[UITextView alloc]initWithFrame:CGRectMake(100, 110, 200, 30)]; userText.text = @"請輸入用戶名..."; userText.autoresizingMask = UIViewAutoresizingFlexibleHeight| UIViewAutoresizingFlexibleWidth; userText.font = [UIFont systemFontOfSize:16]; userText.backgroundColor = [UIColor whiteColor]; userText.hidden = NO; userText.delegate = self; self.userText = userText; [self.view addSubview:self.userText]; }
開始和結束編輯時進行判斷io
-(void)textViewDidBeginEditing:(UITextView *)textView{ if ([textView.text isEqualToString:@"請輸入密碼..."]) { self.passwordText.text = @""; } if ([textView.text isEqualToString:@"請輸入用戶名..."]) { self.userText.text = @""; } } -(void)textViewDidEndEditing:(UITextView *)textView{ if (textView.text.length == 0) { if (self.userText.text.length == 0) { self.userText.text = @"請輸入用戶名..."; } if (self.passwordText.text.length == 0) { self.passwordText.text = @"請輸入密碼..."; } } }
1.2判斷表層TextView的內容來實現底層TextView的顯示於隱藏class
//經過判斷表層TextView的內容來實現底層TextView的顯示於隱藏 -(BOOL)textView:(UITextView *)textView shouldChangeTextInRange:(NSRange)range replacementText:(NSString *)text{ if(![text isEqualToString:@""]) { [_backgroundTextView setHidden:YES]; } if([text isEqualToString:@""]&&range.length==1&&range.location==0){ [_backgroundTextView setHidden:NO]; } if ([text isEqualToString:@"\n"]) { [textView resignFirstResponder]; return NO; } return YES; }
2. 登陸 直接使用 UITextField 的 placeholder 屬性登錄
-(void)setPassword{ UILabel *password = [[UILabel alloc]initWithFrame:CGRectMake(20, 200, 80, 50)]; password.text = @"密 碼"; [self.view addSubview:password]; UITextField * passwordText = [[UITextField alloc]initWithFrame:CGRectMake(100, 210, 200, 30)]; passwordText.placeholder = @"請輸入密碼...";//默認顯示的字 passwordText.secureTextEntry = YES; //是否以密碼形式顯示 passwordText.autoresizingMask = UIViewAutoresizingFlexibleHeight| UIViewAutoresizingFlexibleWidth;//自適應高度 passwordText.font = [UIFont systemFontOfSize:16]; [passwordText setBorderStyle:UITextBorderStyleRoundedRect]; //外框類型 passwordText.returnKeyType = UIReturnKeyDone; //鍵盤返回類型 passwordText.clearButtonMode = UITextFieldViewModeWhileEditing; //編輯時會出現個修改X passwordText.hidden = NO; passwordText.delegate = self; self.passwordText = passwordText; [self.view addSubview:self.passwordText]; } -(void)setUser{ UILabel *user = [[UILabel alloc]initWithFrame:CGRectMake(20, 100, 80, 50)]; user.text = @"用戶名"; [self.view addSubview:user]; UITextField * userText = [[UITextField alloc]initWithFrame:CGRectMake(100, 110, 200, 30)]; userText.placeholder = @"請輸入用戶名...";//默認顯示的字 userText.autoresizingMask = UIViewAutoresizingFlexibleHeight| UIViewAutoresizingFlexibleWidth; userText.font = [UIFont systemFontOfSize:16]; [userText setBorderStyle:UITextBorderStyleRoundedRect]; //外框類型 userText.clearButtonMode = UITextFieldViewModeWhileEditing; //編輯時會出現個修改X userText.hidden = NO; userText.delegate = self; self.userText = userText; [self.view addSubview:self.userText]; }
按下Done按鈕的調用方法,咱們讓鍵盤消失 <UITextFieldDelegate>object
//按下Done按鈕的調用方法,咱們讓鍵盤消失 -(BOOL)textFieldShouldReturn:(UITextField *)textField{ [textField resignFirstResponder]; return YES; }