Iphone IPad外形简单,空间灵活

Iphone IPad外形简单,空间灵活,iphone,ipad,layout,formatting,Iphone,Ipad,Layout,Formatting,我正在为一个内部流程创建一个应用程序,我们的培训师将在事后到客户那里填写客户调查 我想在视图中创建一个灵活的空间。例如,如果他们单击客户不满意的复选框,则会显示文本字段以输入更多信息,这将需要动态向下推所有字段以容纳新字段。如果用户满意,则无需显示任何字段,也无需动态换档 只是想知道以前是否有人这样做过,是否有一种干净的方法来执行它。我认为没有一个控件可以做到这一点 但这并不难。此代码未经测试,但类似于以下内容 //views needs to be ordered in the subview

我正在为一个内部流程创建一个应用程序,我们的培训师将在事后到客户那里填写客户调查

我想在视图中创建一个灵活的空间。例如,如果他们单击客户不满意的复选框,则会显示文本字段以输入更多信息,这将需要动态向下推所有字段以容纳新字段。如果用户满意,则无需显示任何字段,也无需动态换档


只是想知道以前是否有人这样做过,是否有一种干净的方法来执行它。

我认为没有一个控件可以做到这一点

但这并不难。此代码未经测试,但类似于以下内容

//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);

  }
}

我喜欢在表单中使用UITableView。这就是设置应用程序中的许多表单所使用的。打开和关闭分区非常简单—只需使用正确数量的分区响应消息,然后按要求填写即可。

那么,您是否只需为表/表单中的每条记录创建自定义单元格?我只想澄清一点,尽管iphone中没有任何复选框。