Ios 禁用按钮,直到所有文本字段都已填充Xcode

Ios 禁用按钮,直到所有文本字段都已填充Xcode,ios,xcode,uitextfield,Ios,Xcode,Uitextfield,我到处寻找这个答案,但我没有得到一个简单易懂的答案。我有8个文本字段需要填写,然后单击并提交,然后再进入下一页。我已经连接了每个文本字段以查看controller.h文件,但我不知道如何一步一步地轻松禁用submit按钮。非常感谢您提前提供的帮助 我在以前的帖子中试过这个,但没能成功 为每个UITextField创建一个出口,并在.h中创建一个iAction: IBOutlet UITextField *textField1; IBOutlet UITextField *textField2;

我到处寻找这个答案,但我没有得到一个简单易懂的答案。我有8个文本字段需要填写,然后单击并提交,然后再进入下一页。我已经连接了每个文本字段以查看controller.h文件,但我不知道如何一步一步地轻松禁用submit按钮。非常感谢您提前提供的帮助

我在以前的帖子中试过这个,但没能成功

为每个UITextField创建一个出口,并在.h中创建一个iAction:

IBOutlet UITextField *textField1;
IBOutlet UITextField *textField2;
IBOutlet UITextField *textField3;
IBOutlet UIButton *button

- (IBAction)editingChanged;
连接所有插座,并使用editingChanged将iAction连接到每个文本字段:

 - (IBAction)editingChanged {
    if ([textfield1.text length] != 0 && [textfield2.text length] != 0 && [textfield3.text length] != 0) {
         [button setEnabled:YES];
     }
     else {
         [button setEnabled:NO];
     }
 }
请注意,您还可以使用
[textfield.text IsequalString:@”“]
并放置一个!在它前面(!在objective-c中表示“not”)识别空文本字段,并说“如果文本字段为空,则执行…”

- (void)viewDidLoad {
    [super viewDidLoad];
    [button setEnabled:NO];
}
我建议您阅读有关连接插座的说明

要处理文本字段中的更改,视图控制器类可以符合协议,将视图控制器指定为每个文本字段的委托,并实现
-(BOOL)textfield shouldReturn:(UITextField*)textField
点击每个文本字段键盘上的返回按钮时将调用它。

我建议您阅读连接插座上的

要处理文本字段中的更改,您的视图控制器类可以符合协议,将视图控制器指定为每个文本字段的代理,并实现
-(BOOL)textField shouldReturn:(UITextField*)textField
,当点击每个文本字段键盘上的Return按钮时将调用它。

试试这个

1) 您需要将textfield委托函数添加到所有textfield

h

试试这个

1) 您需要将textfield委托函数添加到所有textfield

h



为什么这不起作用?发生什么事了?我只是迷路了。那么,连接所有插座并将每个文本字段的不活动连接到editingChanged意味着什么呢?您连接到editingChanged的是哪一个事件?这是我感到困惑的部分。这些方向是在不同的岗位,我试图遵循,但我迷路了。所以第一。在view controller.h文件的接口部分进行iAction,然后我就丢失了。为什么这不起作用?发生什么事了?我只是迷路了。那么,连接所有插座并将每个文本字段的不活动连接到editingChanged意味着什么呢?您连接到editingChanged的是哪一个事件?这是我感到困惑的部分。这些方向是在不同的岗位,我试图遵循,但我迷路了。所以第一。在view controller.h文件的接口部分创建IBAction,然后我就丢失了。submitbtn是否是.h区域中的ib操作?或者我也必须在.h文件中设置一个出口吗?@Neil,在.h文件中设置一个出口。我面临的问题是,它不允许我正确引用文本字段的长度。就像我的UITextField被称为“Card\u number”,它不允许我输入“Card\u number\u length”。@Neil,我不是说alltextfield\u length是一个obj-c代码,我只是说逻辑,K fine replace(alltextfield\u length)as(yourtextfield.text.length!=0)@Neil,检查first textfieldDendediting函数是否工作。提交的TBTN是否为.h区域中的ib操作正确?或者我也必须在.h文件中设置一个出口吗?@Neil,在.h文件中设置一个出口。我面临的问题是,它不允许我正确引用文本字段的长度。就像我的UITextField被称为“Card\u number”,它不允许我输入“Card\u number\u length”。@Neil,我不是说AllTextField\u length是一个obj-c代码,我只是说逻辑,K fine replace(AllTextField\u length)as(yourtextfield.text.length!=0)@Neil,检查第一个TextFieldDiEndediting函数是否工作
@interface ViewController : UIViewController <UITextFieldDelegate>
- (void)viewDidLoad
{
    [super viewDidLoad];

    //set submit button disable
    submitbtn.enable=NO

   textfiled1.delegate = self;
   textfiled2.delegate = self;
   textfiled3.delegate = self;
   textfiled4.delegate = self;
   textfiled5.delegate = self;
   textfiled6.delegate = self;
   textfiled7.delegate = self;
   textfiled8.delegate = self;
}

- (void)textFieldDidEndEditing:(UITextField *)textField
{
  //check your all texfield length if not equal to zero in below if(condition)
   if(alltextfiled_length != 0)
   {
     submitbtn.enable=YES
   }
   else
   {
     submitbtn.enable=NO
   } 
}