如何检查UITextfield中是否包含文本?

Dou*_*las 3 iphone xcode uitextfield ios5

我只是在制作转换应用程序时啧啧称道.这很好,但我想扩展它.你输入一个华氏值,然后转换为摄氏度.很基本的.所以我也希望添加开尔文转换.但是代码只允许你插入一个华氏数字.因此,在添加开尔文文本字段后,我想检查哪个文本框中包含文本.所以我使用了以下代码:

- (IBAction)convert:(id)sender 
{
if ([fahrenheit isFirstResponder]) 
{
    float x = [[fahrenheit text] floatValue];
    float y = (x - 32.0f) * (5.0f/9.0f);  //celcius
    float z = y + 273.15f;  //kelvin
    [celcius setText:[NSString stringWithFormat:@"%3.2f" , y]];
    [kelvin setText:[NSString stringWithFormat:@"%3.2f" , z]];
    [fahrenheit resignFirstResponder];
} else if ([celcius isFirstResponder])
{
    float x = [[celcius text] floatValue];
    float y = 32.0f + ((9.0f/5.0f) * x); //farenheit
    float z = x + 273.12f; //kelvin
    [fahrenheit setText:[NSString stringWithFormat:@"%3.2f" , y]];
    [kelvin setText:[NSString stringWithFormat:@"%3.2f" , z]];
    [celcius resignFirstResponder];
}else if ([kelvin isFirstResponder])
{
    float x = [[kelvin text] floatValue];
    float y = x - 273.15f; //celcius
    float z = 32.0f + ((9.0f/5.0f) * y); //farenheit
    [celcius setText:[NSString stringWithFormat:@"%3.2f" , y]];
    [fahrenheit setText:[NSString stringWithFormat:@"%3.2f" , z]];
    [kelvin resignFirstResponder];
}
}
Run Code Online (Sandbox Code Playgroud)

这允许我在任何文本字段中输入数字然后转换.但后来我决定解雇键盘.我的代码说resignFirstResponder.但是转换动作不起作用,因为现在没有第一响应者.有关如何检查哪个文本框中包含文本,然后进行转换的任何线索?在此先感谢您的帮助.

Aym*_*hem 8

    if( [textField.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet] != nil &&  [textField.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet] != @"" )
        {

        // text field has text


// get text without white space

NSString * textWithoutWhiteSpace = [textField.text stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet] ;



        }
Run Code Online (Sandbox Code Playgroud)


The*_*ger 7

这是为了检查textView是否为空: -

if([textView.text isEqualToString:@""])
{
    //textView is Empty
}
else 
{
   //textView has text
}
Run Code Online (Sandbox Code Playgroud)

如果你想检查它的空白区域,首先从字符串中删除空格然后检查...像这样 -

NSString *trimmedString = [tV.text stringByTrimmingCharactersInSet:
                           [NSCharacterSet whitespaceAndNewlineCharacterSet]];
if([trimmedString isEqualToString:@""])
{
       NSLog(@"textView is empty");
}
else
{
    NSLog(@"textView has some value");
}
Run Code Online (Sandbox Code Playgroud)


Raf*_*fAl 5

只需使用该hasText方法.

例:

if(_yourTextField.hasText)
{
    // Do something.
}
Run Code Online (Sandbox Code Playgroud)