以编程方式创建文本字段和按钮单击按钮获取文本字段文本

时间:2014-12-25 11:17:35

标签: ios objective-c xcode

CGRect frame = CGRectMake(40, 40, 200, 30);
UITextField *textField = [[UITextField alloc] initWithFrame:frame];
textField.borderStyle = UITextBorderStyleRoundedRect;
textField.textColor = [UIColor blackColor];
textField.font = [UIFont systemFontOfSize:17.0];
textField.backgroundColor = [UIColor whiteColor];
textField.autocorrectionType = UITextAutocorrectionTypeYes;
textField.keyboardType = UIKeyboardTypeDefault;
textField.clearButtonMode = UITextFieldViewModeWhileEditing;

UIButton *but= [UIButton buttonWithType:UIButtonTypeRoundedRect];
[but addTarget:self action:@selector(buttonClicked:) forControlEvents:UIControlEventTouchUpInside];
[but setFrame:CGRectMake(80, 80, 215, 40)];
[but setTitle:@"Login" forState:UIControlStateNormal];
[but setExclusiveTouch:YES];

[view addSubview:but];
[view addSubview:textField];
[view addSubview:label];

我点击按钮时创建了文本字段和按钮我想在buttonClicked函数中获取文本字段文本

-(void) buttonClicked:(UIButton*)sender
{
    // I want to get textfield text right here
}

3 个答案:

答案 0 :(得分:1)

将文本字段声明放在.h文件中,然后毫无问题地访问它。

然后,当您将文本字段添加到之前时。

点击按钮,您可以通过self.textbox调用该文本框。

另一种方法(如果你真的想保留这段代码)将是创建UIView,然后点击获取按钮的超级视图,浏览ui视图中的元素并找到UITextField。我不推荐这个。

答案 1 :(得分:1)

以下列方式向tag提供UITextField ..

[textfiled setTag:101];

然后通过以下方式获取文本。

-(void) buttonClicked:(UIButton*)sender
{
    UITextField * textField = (UITextField *)[self.view viewWithTag:101];
    NSLog(@"your text = %@",textField.text);

}

答案 2 :(得分:0)

在viewController.h文件中

分配

UITextField *textField;

并在ViewConroller.m文件中执行此操作

CGRect frame = CGRectMake(40, 40, 200, 30);
textField = [[UITextField alloc] initWithFrame:frame];
...

然后你可以通过

获得文本值
textField.text
你也可以通过@AbhishekSharma

来做