1

在我的应用程序中,用户可以创建一个新文件。我使用带有样式的 UIAlertViewUIAlertViewStylePlainTextInput来提示用户输入新文件的名称。当然,我想确保在文本字段中输入的文件名不存在。

因此,每当用户更改警报视图的文本字段中的文本时,我想测试是否存在具有该名称的文件,如果存在则通过设置警报视图的消息通知用户:

alertView.message = @"File exists! Please enter a different name.";

在所有其他情况下,当具有该名称的文件不存在时,我根本不想显示消息。我已经尝试了几件事,但似乎实现这一目标的唯一方法是在后一种情况下使用空格字符:

if (fileExists) {
    alertView.message = @"File exists! Please enter a different name.";
} else {
    alertView.message = @" ";
}

这里的缺点是警报视图在大多数情况下会显示一个空行(当不存在具有该名称的此类时),我想避免这种情况。我怎样才能做到这一点?还是有另一种更好的方法来通知用户?

4

2 回答 2

1

创建警报视图

UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Alert" message:[self getAlert] delegate:self cancelButtonTitle:@"OK" otherButtonTitles:nil];
    [alertView show];

得到警报

- (NSString *)getAlert {
    if(true) {
        return @"String 1";
    } else {
        return @"String 2";
    }
    return @"null";
}

我们正在调用一个方法来获取一个字符串,在该方法中我们可以创建条件语句来查看我们想要使用的字符串。

于 2013-07-19T14:48:03.460 回答
1

尝试通过调用 [self performSelectorInBackground:withObject:] 在新线程中运行您的任务,并通过调用 [self performSelectorOnMainThread:withObject:waitUntilDone:] 更新 UIAlertView 文本。我刚刚成功了。

这个主题也可能很有用,介绍计算和调整alertView帧与动画平滑 更新UIAlertView消息和换行符问题

于 2014-02-01T15:38:07.840 回答