我正在为内部流程创建一个应用程序,我们的培训师会在此之后向客户提出并填写对客户的调查。
我想在视图中创建一个灵活的空间。例如,如果他们单击一个客户不满意的复选框,则会显示文本字段以输入更多信息,这些信息需要动态推送其下的所有字段以容纳新字段。如果用户满意,则不需要显示任何字段,也不需要动态移动。
只是想知道是否有人之前已经这样做过,如果有一种干净的方式来执行它。
答案 0 :(得分:0)
我认为没有控件可以做到这一点。
但它应该不那么难。此代码未经过测试,但类似
//views needs to be ordered in the subview list by y position
//can be in in uibuilder or on awakefrom nib..
-(void) addTextFieldAfterView:(UIView*) selectedView
{
CGRect f = CGRectMake(selectedView.origin.x,
selectedView.origin.y+5+selectedView.size.height,
selectedView.size.width,
150);
UITextField *tf = [[UITextField alloc] initWithFrame:f];
[self insertSubview:tf belowSubview:selectedView];
int start = [self.subviews indexOfObject:tf];
//move everything down
for(int i =start; i < [self.subviews count];i++)
{
UIView* v = [self.subviews objectAtIndex:i];
v.frame = CGRectMake(v.origin.x,
v.origin.y+150,
v.size.width,
v.size.height);
}
}
答案 1 :(得分:0)
我喜欢在表单中使用UITableView。这就是“设置”应用中的许多表单所使用的内容。打开和关闭部分非常简单 - 只需使用正确数量的部分回复消息,然后按要求填写部分。