2011-01-11 7 views
0

私たちのトレーナーが顧客に行って、事実の後に顧客のアンケートを記入する内部プロセス用のアプリを作成しています。フレキシブルスペースを備えたシンプルフォーム

ビュー内に柔軟なスペースを作成したいと考えています。たとえば、顧客がテキストフィールドよりも幸せではないというチェックボックスをクリックすると、新しいフィールドに対応するために、その下のすべてのフィールドを動的にプッシュする必要がある詳細情報を入力する例が表示されます。ユーザーが満足している場合は、フィールドを表示する必要はなく、動的なシフトは必要ありません。

これまで誰でもこれを行っているのか、それを実行するためのきれいな方法があるのか​​不思議です。

+0

アイフォーンにはチェックボックスはありませんが、私はそれを明確にしたいだけです。 – Robin

答えて

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

    } 
} 
0

私はフォームにUITableViewを使用します。これは、設定アプリの多くのフォームが使用するものです。セクションをオンまたはオフにするのはかなり簡単です。適切な数のセクションでメッセージに応答し、要求どおりに入力するだけです。

+0

テーブル/フォームの各レコードのカスタムセルを作成するだけですか? – MistakesRInevitable

関連する問題