输入的文本未显示在UITextView中

时间:2013-10-29 13:07:26

标签: ios iphone objective-c uiview

我有一个应用程序我正在尝试移植到iOS 7.由于iOS 7 UIAlertViews中不再有任何文本字段。 (请参阅here)我必须使用2 UIViews由1 ViewController.管理我没有使用nib文件,只是从代码编写UI。

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

在iOS 6设备中,当我点击第二个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中的错误吗?

1 个答案:

答案 0 :(得分: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];
}