我有一个带有一些UITextFields的表单视图。我想在滚动视图中添加表单视图。
以下是我设计表单及其文本字段的方法:
- (UIView *)Form
{
if (!_Form) {
CGRect frame = CGRectMake(0.0, Height, Width, 310.0);
UIView *container = [[UIView alloc] initWithFrame:frame];
CGFloat y = 15.0;
frame = CGRectMake(15.0, y, width, height);
UITextField *field = [[UITextField alloc] initWithFrame:frame];
[
field.placeholder = @"text";
CGFloat spacing = 8.0;
y = frame.origin.y + height + spacing;
frame = CGRectMake(15.0, y, kDeviceWidth - 2*15.0, height);
field = [[UITextField alloc] initWithFrame:frame];
field.placeholder = @"text6";
frame.size.height = 200.0;
y = frame.origin.y + height + space;
frame = CGRectMake(15.0, y, width - 2*15.0, height);
field = [[UITextField alloc] initWithFrame:frame];
field.placeholder = @"text1*";
y = frame.origin.y + height + 16.0;
CGFloat w = (kDeviceWidth - 2 * 15.0) / 2;
frame = CGRectMake(15.0, y, w - 2.0, height);
field = [[UITextField alloc] initWithFrame:frame];
field.placeholder = @"text3*";
frame = CGRectMake(15.0 + w + 2.0, y, w - 2.0, height);
field = [[UITextField alloc] initWithFrame:frame];
field.placeholder = @"text4*";
y = frame.origin.y + height + spacevalue;
frame = CGRectMake(15.0, y, w, height);
field = [[UITextField alloc] initWithFrame:frame];
field.placeholder = @"text5";
y = frame.origin.y + height + 20.0;
frame = CGRectMake((frame.size.width - 192.0) / 2, y, 192.0, 34.0);
y = frame.origin.y + height + 8.0;
frame = CGRectMake((frame.size.width - 192.0) / 2, y, 192.0, 34.0);
}
return _Form;
}
我在“textFieldDidBeginEditing”中添加了这个:( signView是其中包含表单视图的视图)
UIScrollView *scroll = [[UIScrollView alloc] initWithFrame:CGRectMake(0, 0, self.signView.frame.size.width, self.signView.frame.size.height)];
scroll.pagingEnabled = YES;
[scroll addSubview:self.Form];
scroll.contentSize = CGSizeMake(self.signView.frame.size.width*self.Form.frame.size.width, self.Form.frame.size.height);
但是当我点击文本文件时,表单视图的所有文本字段都会消失。我可以将我的滚动视图嵌入到视图中吗?
谢谢
答案 0 :(得分:0)
你正在做return _Form;
什么是_Form
。
据我了解你必须返回container
。
所以做到这一点
return container;
你正在制作UITextField
但是你在哪里添加subView作为你的视图,你只是创建它。
答案 1 :(得分:0)
是的,但你必须通过添加子视图将你的UITextField放在容器中,这是你的容器
if (!_form) {
//YOUR STUFF then -> add container subview your view
[container addSubview:yourTEXTField]
return container;
}
else {
return _form;
}