当一个比firstResponder更长的textField没有发送任何信号值,并且文本颜色不正确时,我该如何修复它?
RAC(self.textField, textColor) = [RACSignal
combineLatest:@[self.textField.rac_textSignal]
reduce:^(NSString *firstName) {
if (firstName.length > 5) {
return [UIColor blueColor];
}else{
return [UIColor redColor];
}
}];发布于 2014-08-13 05:54:56
假设你的意思是显示一个字段的验证状态,你可以这样做。有很多其他的方法,但这是我通常使用的方法。
- (void)viewDidLoad {
[super viewDidLoad];
// =====================================
// Other Initialisation Code Here
// =====================================
RACSignal *validTextFieldSignal =
[self.textField.rac_textSignal
map:^id(NSString *text) {
return @([self isValidTextField:text]);
}];
RAC(self.textField, textColor) =
[validTextFieldSignal
map:^id(NSNumber *textFieldValid) {
return [textFieldValid boolValue] ? [UIColor blueColor] : [UIColor redColor];
}];
end
- (BOOL)isValidTextField:(NSString *)textField {
return textField.length > 5;
}https://stackoverflow.com/questions/22336676
复制相似问题