0

ユーザーがドロップダウンからオプションを選択する画面で作業しています。この選択に基づいて、彼は画面に一連のコントロールを追加します。ドロップダウンは画面の右下隅にあります。下部の画面スペースの20〜25%を占めます。下部の残りの75%の画面で、9つのラベル、6つのUItextフィールド、2つのドロップダウン、2つのボタンを追加する必要があります。ここにマークアップを付けています。

私の質問は次のとおりです。ASP.NETには、上記のすべてのコントロールを備えたリピーターがあります。「追加」という名前のボタンの1つ。そのボタンをクリックすると、現在のリピーターの下部に同じリピーターが追加されます。iOSにそのようなものはありますか?たくさんのコントロールがあり、[追加]をクリックするリピーターのように、その正確なリピーターが下部などに追加されます。私の説明ポップアップに基づくアイデア/新しいアイデアがあれば、私に知らせてください。ありがとう。

リンク http://dl.dropbox.com/u/40597849/mockup2.png

したがって、8つのラベル、テキストボックス、ドロップダウン、およびその下の2つのボタン(1つは「追加」という名前)を含む右側の大きな長方形は、ユーザーが「追加」をクリックしたときに再度追加する必要があります。さらに詳しい情報が必要な場合は私に聞いてください。

ITMCustomView *cView = [[ITMCustomView alloc] initWithFrame:frame];
cView.delegate =self;
CGPoint scrollPoint = CGPointMake(0.0, (frame.origin.y/400)*400);
[self.scrollView setContentOffset:scrollPoint animated:YES];
[self.scrollView addSubview:cView];

最初に追加する最初のカスタムビューは、このフレームサイズ(187、585、350、21)で追加します。。次に、追加を押すたびに、このデリゲートを呼び出します

[self.delegate addNewSize:CGRectMake(187,self.y+ 400 , 400, 400)];

これにより、上記の5行のコードが呼び出され、新しいカスタムビューが作成され、スクロールビューに追加されます。現在構築されているフレームのy値としてself.yを保存します。では、スクロールビューを自由に上下に移動するにはどうすればよいですか。画面には、追加されたカスタムビューが表示されますが、上に移動できなくなります。カスタムビューを5回追加し、4つ追加したと仮定したかったのですが、上にスクロールしたいのですが、下に4つ追加し、さらに1つのカスタムビューを追加して、他の処理を実行します。しかし、私のスクロールビューは機能せず、追加されたばかりのカスタムビューで動かなくなり、上にスクロールできなくなります。さらに詳しい情報が必要な場合は、私に聞いてください。ありがとう。

4

1 に答える 1

4

すべてのビューを含むカスタムビューを使用します。

myView1.)サブクラス化するカスタムクラスを作成しUIViewます。
2.)そのビュークラスに必要なすべてのコントロールを追加します。
3.)myViewメインビューに含めます。
4.)myView好きなだけ開始し、メインビューに追加します。

それがあなたを動かすのに十分明確であることを願っています。


更新: bgoersが行ったコメントについてさらに詳しく説明します。
新しいクラスmyViewサブクラスを作成するUIViewと、空のシートが表示されます。このシートには、クラスで、または開始時に(あなた次第)指定したフレームが含まれます。そのフレーム内(myView.hおよびmyView.minitWithFrame)に、ボタンやラベルなどのサブビューを追加できます。これらのサブビューは、シートmyViewを基準にして配置されます。

たとえば、描画はすべてのコントロールを備えたカスタムビューです。サブビューを追加せずに別のカスタムビューを開始するだけで、別のビューをまったく同じように見せることができます。私がする必要があるのは、2番目のカスタムビューを希望の場所に移動することだけです。すべてのサブビューが続きます。

サブクラス化する方法と、それがiOSでどのように機能するかを読んでおくことをお勧めします。一度コツをつかめば、とても簡単です。

于 2012-12-12T20:03:10.187 に答える