对于并列的TextField实现同步控制
今天遇到一個需求,就是在綁卡的時候,要求輸入姓名,證件號,銀行卡號等信息,并且,如果這些TextFild只要有一個有值,那么綁定的這個按鈕就要變為可點擊狀態,否則按鈕不可點擊。
當然了,我們還是根本TextField的delegate來實現
下面請看代碼
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string
{
? ? NSString *getString = [textField.text stringByReplacingCharactersInRange:range withString:string];/*textField輸入的實時的值*/
? ? NSString *realGetString = self.realNameTextField.text ; /*保存姓名的值*/
? ? NSString *certificateNumGetString = self.certificateNumTextField.text ;
? ? NSString *bankNumGetString = self.bankNumTextField.text ;
? ? NSString *reservedPhoneGetString = self.reservedPhoneTextField.text ;
?? ?
? ? if (self.userName) // 這是用來驗證是否是首次綁定(當前不是)
? ? {
? ? ? ? if([textField isEqual:self.bankNumTextField]) ?// 此時的textField是否是銀行卡號的textField
? ? ? ? {
? ? ? ? ? ? bankNumGetString = getString;
? ? ? ? }
? ? ? ? else if([textField isEqual:self.reservedPhoneTextField])
? ? ? ? {
? ? ? ? ? ? reservedPhoneGetString = getString;
? ? ? ? }
?? ? ? ?
? ? ? ? if (bankNumGetString.length == 0 && reservedPhoneGetString.length == 0)
? ? ? ? { // 如果銀行卡號和銀行預留號碼的長度為0,按鈕不可點擊
? ? ? ? ? ? [_bindButton setTitleColor:[UIColor hexFloatColor:@"c9c9c9"] forState:UIControlStateNormal];
? ? ? ? ? ? _bindButton.userInteractionEnabled = NO;
? ? ? ? }
? ? ? ? else
? ? ? ? {
? ? ? ? ? ? [_bindButton setTitleColor:[UIColor hexFloatColor:InfoLabelHightLightColor] forState:UIControlStateNormal];
? ? ? ? ? ? _bindButton.userInteractionEnabled = YES;
? ? ? ? }
?
? ? }
? ? else
? ? {
? ? ? ? if([textField isEqual:self.realNameTextField])
? ? ? ? {
? ? ? ? ? ? realGetString = getString;
? ? ? ? }
? ? ? ? else if([textField isEqual:self.certificateNumTextField])
? ? ? ? {
? ? ? ? ? ? certificateNumGetString = getString;
? ? ? ? }
? ? ? ? else if([textField isEqual:self.bankNumTextField])
? ? ? ? {
? ? ? ? ? ? bankNumGetString = getString;
? ? ? ? }
? ? ? ? else if([textField isEqual:self.reservedPhoneTextField])
? ? ? ? {
? ? ? ? ? ? reservedPhoneGetString = getString;
? ? ? ? }
?? ? ? ?
?? ? ? ?
? ? ? ? if (realGetString.length == 0 && certificateNumGetString.length == 0 && bankNumGetString.length == 0 && reservedPhoneGetString.length == 0)
? ? ? ? {
?? ? ? ? ? ?
? ? ? ? ? ? [_bindButton setTitleColor:[UIColor hexFloatColor:@"c9c9c9"] forState:UIControlStateNormal];
? ? ? ? ? ? _bindButton.userInteractionEnabled = NO;
? ? ? ? }
? ? ? ? else
? ? ? ? {
? ? ? ? ? ? [_bindButton setTitleColor:[UIColor hexFloatColor:InfoLabelHightLightColor] forState:UIControlStateNormal];
? ? ? ? ? ? _bindButton.userInteractionEnabled = YES;
? ? ? ? }
? ? }
?? ?
?? ?
?
? ? return YES;
? ?
}
?
轉載于:https://www.cnblogs.com/huiyi-520/p/7687911.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的对于并列的TextField实现同步控制的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: JS魔法堂:doctype我们应该了解的
- 下一篇: 手写一个jsonp实现