【发布时间】:2011-03-03 18:13:03
【问题描述】:
我在同一个视图中有一个 UITextField 和 UITextView,但是我在编辑它们时遇到了问题,尤其是在从一个视图转到另一个视图时。
如果我点击 UITextField,我可以输入它。但是,如果我随后在 UITextView 中键入内容,则它不会捕获我正在键入的内容。反之亦然。
任何想法为什么它会这样?
review = [[UITextView alloc] initWithFrame:CGRectMake(x+10, y + 40, 470-5, h - 15)];
review.keyboardType = UIKeyboardTypeAlphabet;
review.delegate = self;
review.font = [UIFont systemFontOfSize:16];
[scrollView addSubview:review];
和
titleField = [[UITextField alloc] initWithFrame:CGRectMake(x+10, y + 30, 472, 32)];
titleField.keyboardType = UIKeyboardTypeAlphabet;
titleField.clearButtonMode = UITextFieldViewModeWhileEditing;
titleField.delegate = self;
titleField.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
titleField.font = [UIFont systemFontOfSize:14];
[scrollView addSubview:titleField];
这两个都是全局变量,它们的大小足够大。
所以我想通了,但我不确定为什么会这样。
对象被释放,导致我的指针不再准确?
我的 .h 保持不变:
{
UITextField *titleField;
UITextView *review;
}
@property (nonatomic, retain) UITextField *titleField;
@property (nonatomic, retain) UITextView *review;
我把两者都改成了这样:
UITextField *titleField1 = [[UITextField alloc] initWithFrame:CGRectMake(x+10, y + 30, 472, 32)];
titleField1.keyboardType = UIKeyboardTypeAlphabet;
titleField1.clearButtonMode = UITextFieldViewModeWhileEditing;
titleField1.delegate = self;
titleField1.contentVerticalAlignment = UIControlContentVerticalAlignmentCenter;
titleField1.font = [UIFont systemFontOfSize:14];
[scrollView addSubview:titleField1];
titleField = [titleField1 retain];
但是即使在我释放 titleField 之后,这不会让对象挂起吗?
【问题讨论】:
-
“它没有捕捉到我输入的内容”是什么意思?你的角色出现在视图中了吗?
-
是的。没有字符出现。光标闪烁,但您按下按钮并没有任何反应。
标签: ipad uitextfield uitextview