0

我有一个应用程序正在尝试移植到 iOS 7。因为 iOS 7 中不再有任何文本字段UIAlertViews。(见这里)我不得不求助于使用UIViews由 1 管理的 2ViewController.我没有使用 nib 文件,只是从代码中对 UI 进行编程。

当应用程序启动时,第二个UIView堆叠在第一个之上,它有一个UITextField接受用户输入的。此代码适用于 iOS 7,但不适用于 iOS 6 设备。

在 iOS 6 设备中,当我点击 2nd 中的文本字段时UIView,会出现键盘。但是,当我在文本字段中输入内容时,不会出现任何字符。我什至尝试NSLog了键盘输入的字符并得到了NULL这意味着没有输入文本!

主 ViewController 的代码如下:

//View1 : UIView
View1 *aView1;
[aView1 initWithFrame:CGRectMake(20,40,280,200) title:promptMsg]
[self.view addSubview:aView1];

在 View1.m 内部:

(id)initWithFrame:(CGRect) aRect title:(NSString*) promptStr{
self = [super initWithFrame:aRect];
UITextField *userField = [[UITextField alloc] initWithFrame:CGRectMake(x,y,a,b)];
[self addSubview:userField];

有谁知道 iOS 7 中“允许”这种行为的变化是什么?它是 iOS 7 或 SDK 中的错误吗?

4

1 回答 1

0

问题出在您的代码中,我没有看到您正在设置的任何文本,您只是在分配,例如参考如下:-

(id)initWithFrame:(CGRect) aRect title:(NSString*) promptStr{
self = [super initWithFrame:aRect];
UITextField *userField = [[UITextField alloc] initWithFrame:CGRectMake(x,y,a,b)];
userField.text=@"yourText"; // here setting the text
[self addSubview:userField];
}
于 2013-10-29T13:38:30.443 回答