在IOS 7中使用弹出窗口输入文本

时间:2013-09-26 17:22:49

标签: ios objective-c uialertview

我有一个基于Xcode 4.6和iOS 6构建的应用程序。我现在使用XCode 5将其升级到iOS 7。

我有这个代码在iOS 6上完美运行。它做了什么它带来了一个带有UITextField的弹出窗口。用户可以输入他们想要的任何文本,然后点击OK。我把他们的文字放在UILabel中。

我遇到的问题是,在iOS 7中弹出这个弹出文本框时,它是不可编辑的。触摸它什么都不做。怎么样?

以下是代码和屏幕截图

// ************ 
// ENTER TEXT
// ************

-(IBAction)insertText 
{
    UIAlertView* dialog = [[UIAlertView alloc] initWithTitle:@"Enter Text \n"
                                                     message:@"\n\n Keep it short and sweet"   
                                                    delegate:self 
                                           cancelButtonTitle:@"Cancel"
                                           otherButtonTitles:@"OK", nil];

    nameField = [[UITextField alloc] initWithFrame:CGRectMake(20.0, 45.0, 245.0, 25.0)];
    [nameField setBackgroundColor:[UIColor whiteColor]];
    [dialog addSubview:nameField];
    [dialog show];
}

enter image description here

1 个答案:

答案 0 :(得分:2)

使用提供的API代替此hack。将警报视图的alertViewStyle设置为UIAlertViewStylePlainTextInput,而不是添加自己的文本字段(从未实际支持)。这将在警报视图中为您提供受支持的文本输入字段。