我在桌面视图上有自定义单元格。 Cell有一个文本字段。例如,如果我有4个单元格,每个单元格都有textfield。我可以点击三个文本字段,相关的文本字段开始编辑。但对于其中一个文本字段,当我点击它 - 文本字段确实开始编辑没有被调用。这是我的方法
-(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;
}`
}
答案 0 :(得分:0)
请设置代表。 像:
cell.txtFld.delegate = self;
希望它会让你感动。谢谢
答案 1 :(得分:0)
-(void)textFieldDidBeginEditing:(UITextField *)textField
{
CustomCell *cell = (CustomCell *)[self.tableView viewWithTag:textField.tag];
NSIndexPath *indexPath = [self.tableView indexPathForCell:cell];
NSLog@("indexPath ===%ld", indexPath.row)
// You can make logic as you want
}