我有一个视图,其中包含一些文本字段和选择器视图和一个按钮,当单击按钮时,所有这些文本字段和选择器视图应该再次出现在同一视图中。现在我应该如何获取初始视图以及如何加载点击按钮时,与上一个视图相同的视图。
提前致谢..
答案 0 :(得分:0)
在按钮单击上设置框架和添加子视图(文本字段和选取器视图),您可以将这些子视图显示在主视图中。
否则您最初可以将它们全部放在主视图中并最初隐藏它们。然后在按钮上单击设置Hidden : NO
。
答案 1 :(得分:0)
这是方法:
在View控制器上:添加按钮和UIScrollView。
创建一个独立视图,说MyView包含所有TextFields和Picker。 (您可以通过xib或代码创建)
在控制器的ViewDidLoad方法中,在UIScrollView上添加此MyView。
在onButtonPressed上同样在UIScrollView上添加MyView。
答案 2 :(得分:0)
如果我遇到了您的问题,那么此代码可能会对您有所帮助。我只在按钮点击事件中添加文本字段。所以我认为它可能会让你想到另一个观点,你可以用另一个观点做同样的事情。我给你.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