테이블보기에 사용자 정의 셀이 있습니다. 셀에 텍스트 필드가 있습니다. 예를 들어, 텍스트 필드가있는 셀이 4 개인 경우를 예로들 수 있습니다. 3 개의 텍스트 필드를 탭할 수 있으며 관련 텍스트 필드가 편집을 시작했습니다. 그러나 텍스트 필드 중 하나에 대해 내가 탭할 때 - 텍스트 필드는 편집을 시작하지 않았고 호출되지 않습니다. 여기 내 방법은텍스트 필드가 사용자 정의 셀에서 편집을 시작하지 않았습니다.
-(void)textFieldDidBeginEditing:(UITextField *)textField{
NSString *SelectedIndexString = [[NSUserDefaults standardUserDefaults]
stringForKey:@"SelectedIndex"];
NSInteger selectionCount = [SelectedIndexString integerValue];
NSLog(@"%ld",(long)selectionCount);
if (selectionCount) {
self.accountNameTxtField.enabled = NO;
}
else{
self.accountNameTxtField.enabled = YES;
}
}
// STTableViewCell
@interface STTableViewCell() <UITextFieldDelegate>
- (void)awakeFromNib {
[super awakeFromNib];
radioBtn.alpha = 0; // Initialization code [self customBorder];
// Setting the OTP label color to the RGB blue
self.OTPLabel.textColor = [UIColor colorWithRed:0.0 green:122.0/255.0 blue:1.0 alpha:1.0];
// Set delegate to textfield
self.accountNameTxtField.delegate=self;
}
- (void)setEditing:(BOOL)editing animated:(BOOL)animated {
[super setEditing:editing animated:animated];
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(incomingNotification:) name:@"No Change" object:nil];
if (!editing)
{
radioBtn.alpha = 0;
isTableviewEditing=NO;
if (![self.authURL.name isEqual:accountNameTxtField.text]) {
self.accountNameTxtField.text = [self.accountNameTxtField.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];
if (accountNameTxtField.text.length >= 1)
{
// Write out the changes.
descriptionBlank = NO;
self.authURL.name = self.accountNameTxtField.text;
[self.authURL saveToKeychain];
}
else{
[accountNameTxtField resignFirstResponder];
[self.delegate cellDidTap:self];
self.accountNameTxtField.text =self.authURL.name;
descriptionBlank = YES;
}
}
accountNameTxtField.userInteractionEnabled=NO;
[accountNameTxtField resignFirstResponder];
for (CALayer *layer in accountNameTxtField.layer.sublayers) {
if ([layer.name isEqualToString:@"Gradient"])
{
[layer setHidden:YES];
break;
}
}
progressView.alpha=1.0;
OTPLabel.alpha=1.0;
}
else
{
radioBtn.alpha = 1;
isTableviewEditing=YES;
for (CALayer *layer in accountNameTxtField.layer.sublayers) {
if ([layer.name isEqualToString:@"Gradient"])
{
[layer setHidden:NO];
break;
}
}
OTPLabel.alpha=0.0;
progressView.alpha=0.0;
accountNameTxtField.userInteractionEnabled=YES;
}
}
- (void)setSelected:(BOOL)selected animated:(BOOL)animated
{
[super setSelected:selected animated:animated];
if (selected) {`selectHilightCount++;
self.accountNameTxtField.enabled = NO;
} else {
self.accountNameTxtField.enabled = YES;
}`
}
을 hepls 것입니다 희망? – dirtydanee
예. 다른 텍스트 필드에 바로 호출되고 있습니다 .. – Sadik
델리게이트를 설정 한 곳에서 코드 조각을 보여 주시겠습니까? 또한,'UITableViewCell'을 위해'prepareForSegue'를 오버라이드 했습니까? – dirtydanee