今天遇到一個需求,就是在綁卡的時候,要求輸入姓名,證件號,銀行卡號等信息,而且,若是這些TextFild只要有一個有值,那麼綁定的這個按鈕就要變爲可點擊狀態,不然按鈕不可點擊。orm
固然了,咱們仍是根本TextField的delegate來實現ci
下面請看代碼get
- (BOOL)textField:(UITextField *)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)stringstring
{it
NSString *getString = [textField.text stringByReplacingCharactersInRange:range withString:string];/*textField輸入的實時的值*/io
NSString *realGetString = self.realNameTextField.text ; /*保存姓名的值*/bind
NSString *certificateNumGetString = self.certificateNumTextField.text ;return
NSString *bankNumGetString = self.bankNumTextField.text ;ab
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;
}