IPad простая форма с гибким пространством - PullRequest
0 голосов
/ 11 января 2011

Я создаю приложение для внутреннего процесса, в котором наши тренеры выходят к клиентам и заполняют опрос клиентов по факту.

Я хочу создать гибкое пространство в представлении. Например, если они установят флажок, что Клиент недоволен, будут показаны текстовые поля для ввода дополнительной информации, которая должна будет динамически перемещать все поля под ним, чтобы разместить новые поля. Если пользователь доволен, поля не должны появляться и динамическое смещение не требуется.

Просто интересно, кто-нибудь делал это раньше и есть ли чистый способ выполнить это.

Ответы [ 2 ]

0 голосов
/ 11 января 2011

Мне нравится использовать UITableView для форм. Это то, что используется многими формами в приложении «Настройки». Включать и выключать разделы довольно просто - просто отвечайте на сообщения с нужным количеством разделов, а затем заполняйте их по запросу.

0 голосов
/ 11 января 2011

Я не думаю, что есть контроль, который сделает это.

Но это не должно быть так сложно.Этот код не проверен, но что-то вроде этого

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

  }
}
...