在目标C中编写一个函数,该函数可以使用iPhone键盘在文本文件中自动打印某些内容



大家好,我有以下问题 我制作了一个iPhone应用程序,其中我使用界面构建器制作了应用程序的UI,并具有文本字段,按钮和标签 每当用户在文本字段中输入一些文本并按下按钮时,标签中就会显示消息"欢迎:文本字段内容" 我已经为按钮单击编写了以下IBAction

-(IBAction)updateText:(id)sender{
    NSString *text;
    if( [ textName.text length] == 0 )
    {
        text = @"Please Enter Your Name";
    }
    else
    {
        text = [ [NSString alloc] initWithFormat:@"Hello : %@" , textName.text ];
    }
    lblHello.text = text;
    [text release];
}

这里 textName 是文本字段的名称,lblHello 是标签

但我想通过编写一些目标 C 函数来自动化在文本字段中输入文本并按下按钮的过程,以便使用 iPhone 键盘自动输入值,然后单击按钮。任何人都可以帮我编写该函数以及在哪里调用该函数以完成任务。请帮助我解决这个问题,并告诉您是否需要更多代码以供参考。

提前致谢

为此,您应该使用 UITextFieldDelegateMethods。看看:

textField:shouldChangeCharactersInRange:replacementString:

每当用户在文本字段中键入新字符或删除现有字符时,文本字段都会调用此方法。

对于委派,您必须通过代码或接口生成器将文本字段的委托设置为视图控制器。并且您必须在视图控制器头文件中声明该类符合UITextFieldDelegate协议。

正如安全案例提到的,您可以使用委托方法

textFieldDidEndEditing:

太。to 之间的区别在于标签更新的时间:在文本字段中编辑后调用 textFieldDidEndEditing:,在键入期间调用textField:shouldChangeCharactersInRange:replacementString:

法典:

在您的 .h 文件中:

@interface YourClass : YourClassSuperClass <UITextFieldDelegate>
@propertys
-(void)someMethod;
@end

在 .m 文件中,选择要实现的委托方法,以演示我将选择textFieldDidEndEditing:

@implementation YourClass
- (void)viewDidLoad {
    textField.delegate = self;
}
#pragma mark - UITextFieldDelegate methods
- (void)textFieldDidEndEditing:(UITextField *)aTextField {
    lblHello.text = aTextField.text;
}

如果您愿意,也可以通过IB设置textField.delegate。不要忘记设置委托,否则不会调用委托方法。

请熟悉委派模式,因为它经常使用!有关更多信息,委派的工作原理以及如何使用它,您可以阅读Objective-C 编程中的概念 ->委托和数据源

为此使用 UITextFieldDelegate 方法。当用户单击iPhone键盘的返回按钮时,将调用此方法:

- (void)textFieldDidEndEditing:(UITextField *)textField
{
 if( [textName.text length] == 0 )
 {
   text = @"Please Enter Your Name";
 }
 else
 {
   text = [ [NSString alloc] initWithFormat:@"Hello : %@" , textName.text ];
 }
 lblHello.text = text;
}

最新更新