• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

ios - 没有在自定义单元格上调用文本字段确实开始编辑

[复制链接]
菜鸟教程小白 发表于 2022-12-11 18:35:12 | 显示全部楼层 |阅读模式 打印 上一主题 下一主题

我在表格 View 上有自定义单元格。单元格有一个文本字段。例如,如果我有 4 个单元格,每个单元格都带有文本字段。我可以点击三个文本字段,并且相关的文本字段确实开始编辑。但是对于其中一个文本字段,当我点击它时 - 文本字段确实开始编辑并没有被调用。这是我的方法

  -(void)textFieldDidBeginEditingUITextField *)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)setEditingBOOL)editing animatedBOOL)animated {

    [super setEditing:editing animated:animated];
    [[NSNotificationCenter defaultCenter] addObserver:self selectorselector(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)setSelectedBOOL)selected animatedBOOL)animated
{
    [super setSelected:selected animated:animated];
    if (selected) {`selectHilightCount++;
        self.accountNameTxtField.enabled = NO;
    } else {
        self.accountNameTxtField.enabled = YES;
    }`
}



Best Answer-推荐答案


请设置委托(delegate)。 喜欢:

cell.txtFld.delegate = self;

希望对你有帮助。谢谢

关于ios - 没有在自定义单元格上调用文本字段确实开始编辑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41632707/

回复

使用道具 举报

懒得打字嘛,点击右侧快捷回复 【右侧内容,后台自定义】
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关注0

粉丝2

帖子830918

发布主题
阅读排行 更多
广告位

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap