iOS:如何从文本字段中获取文本并将其显示在警报中?

时间:2013-07-08 14:33:25

标签: ios objective-c uitextfield uialertview

人。这听起来好像我要求你为我做功课,但我不是。我的雇主终于给了我这款甜美的全新MacBook Pro。我的任务之一将包括一些iOS开发。我对此很感兴趣,我正试图潜入学习,所以我正在制作一个愚蠢的小应用程序,让我看看如何交互和编写一些代码。今天早上的任务是从文本字段中获取一些文本并将其显示在警报中。我已经做了大量的谷歌搜索并发现了很多东西 - 甚至是StackOverflow上的东西 - 但是很多东西都在我脑海中或与之不完全相关。所以,我希望有人能告诉我我做错了什么。

这是我的文本字段代码:

-(IBAction)showInputMessage:(UITextField *)textField
{
if ([textField.text isEqualToString:@""])
{
    return;
}
UIAlertView *helloEarthInputAlert = [[UIAlertView alloc]
                                     initWithTitle:@"Name!" message:[NSString stringWithFormat:@"Message: %@", textField.text]
                                     delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
// Display this message.
[helloEarthInputAlert show];

}

然后我将该文本字段连接到showInputMessage并在iPhone模拟器中运行它,但是当我输入文本并单击“Enter”时没有任何反应。

提前致谢。我从昨晚开始只玩这种语言。

杰里米

2 个答案:

答案 0 :(得分:6)

为UITextView设置委托。

首先声明委托:

@interface YourViewController ()<UITextFieldDelegate>

第二集自我

self.textView.delegate = self;

使用此方法:

-(void)textViewShouldReturn:(UITextField *)textField
{
   if ([textField.text isEqualToString:@""]){
         return;
    }      

    UIAlertView *helloEarthInputAlert = [[UIAlertView alloc]
                           initWithTitle:@"Name!" message:[NSString stringWithFormat:@"Message: %@", textField.text]
                           delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
 // Display this message.
 [helloEarthInputAlert show];

}

要添加属性,请在h文件中写下以下代码:

 @property (weak, nonatomic) IBOutlet UITextView *textView;

要连接它,您的文本字段将转到故事板并单击其视图控制器。接下来转到Connections Inspector(右边一直)。在出口下方,将textView旁边的圆圈拖到textView。

答案 1 :(得分:0)

您是否在UITextField文件或xib中关联了storyboard? 我现在看到你有一个textField作为参数。你不会得到这样的东西;

在.h

中执行此操作
IBOutlet UITextField *textFieldTest;

然后在xib或storyboard中链接它

 -(IBAction)showInputMessage
 {
    if ([textFieldTest.text isEqualToString:@""])
    {
      return;
    }
    UIAlertView *helloEarthInputAlert = [[UIAlertView alloc]
                                     initWithTitle:@"Name!" message:[NSString stringWithFormat:@"Message: %@", textFieldTest.text]
                                     delegate:nil cancelButtonTitle:@"OK" otherButtonTitles:nil];
// Display this message.
   [helloEarthInputAlert show];

 }