いくつかのテキスト フィールドとピッカー ビューと 1 つのボタンを含むビューがあります。ボタンをクリックすると、これらすべてのテキスト フィールドとピッカー ビューが同じビューに再び表示されます。最初のビューを取得する方法と同じビューをロードする方法ボタンをクリックすると前のビューに戻ります。
前もって感謝します..
ボタンクリックでサブビュー(テキストフィールドとピッカービュー)を追加するフレームを設定すると、それらのサブビューをメインビューに表示できます。
または、最初にそれらをすべてメイン ビューに配置し、最初は非表示にすることもできます。そして、ボタンをクリックしてそれらを設定しますHidden : NO
。
問題が発生した場合、このコードが役立つかもしれません。ボタンクリックイベントにテキストフィールドのみを追加しています。したがって、別のビューのアイデアが得られると思います。別のビューでも同じことができます。.m ファイルをお渡しします。.h ファイルを書いていただければ幸いです。これが私の.mファイルのようです-
#import "ViewController.h"
@interface ViewController ()
@end
@implementation ViewController
@synthesize btn = _btn; // IBOutlet of UIButton
@synthesize txtFieldOne = _txtFieldOne; // IBOutlet of UITextField
@synthesize txtFieldTwo = _txtFieldTwo; // IBOutlet of UITextField
- (void)viewDidLoad
{
newYCoordinateForNewTxtFld = 40.0; // newYCoordinateForNewTxtFld is of type CGFloat
frame = self.txtFieldTwo.frame; // frame is of type CGRect
[super viewDidLoad];
}
- (BOOL)shouldAutorotateToInterfaceOrientation:(UIInterfaceOrientation)interfaceOrientation
{
return true;
}
// TextField Delegate Method you might required in your project
- (BOOL)textFieldShouldReturn:(UITextField *)textField
{
[textField resignFirstResponder];
return YES;
}
- (IBAction)btnClicked:(id)sender
{
// I am giving u a simple idea, so written simple code. You can make code more usable with ur view by adding various functions, loops, etc ,etc.
int tagValue = 0;
UITextField *newTextField = [[UITextField alloc]initWithFrame:CGRectMake(frame.origin.x, frame.origin.y+newYCoordinateForNewTxtFld, frame.size.width, frame.size.height)];
newTextField.delegate = self;
newTextField.tag = tagValue++;
frame = newTextField.frame;
newTextField.backgroundColor = [UIColor whiteColor];
[newTextField setBorderStyle:UITextBorderStyleRoundedRect];
[self.view addSubview:newTextField];
newTextField = nil;
newTextField = [[UITextField alloc]initWithFrame:CGRectMake(frame.origin.x, frame.origin.y+newYCoordinateForNewTxtFld, frame.size.width, frame.size.height)];
newTextField.tag = tagValue++;
newTextField.delegate = self;
frame = newTextField.frame;
newTextField.backgroundColor = [UIColor whiteColor];
[newTextField setBorderStyle:UITextBorderStyleRoundedRect];
[self.view addSubview:newTextField];
}
@end
アプローチは次のとおりです。
ビュー コントローラーで: ボタンと UIScrollView を追加します。
すべての TextField とピッカーを含む MyView などの独立したビューを作成します。(これは、xib またはコードを介して作成できます)
コントローラーの ViewDidLoad メソッドで、この MyView を UIScrollView に追加します。
onButtonPressed で、同様に UIScrollView に MyView を追加します。