将sigUp表单(包括多个文本字段)放入滚动查看器模板(iphone)
我设计了一个如下的注册表单,其中包含几个文本字段,每次用户点击文本字段时,键盘就会弹出,或者生日日期选择器就会出现。使用tap打开注册表单 但是表单本身会跳起来覆盖整个屏幕 如何将viewDidLoad和代码设计更改为1)以滚动视图格式显示注册表单,以避免表单在屏幕中跳转将sigUp表单(包括多个文本字段)放入滚动查看器模板(iphone),iphone,uiscrollview,viewdidload,Iphone,Uiscrollview,Viewdidload,我设计了一个如下的注册表单,其中包含几个文本字段,每次用户点击文本字段时,键盘就会弹出,或者生日日期选择器就会出现。使用tap打开注册表单 但是表单本身会跳起来覆盖整个屏幕 如何将viewDidLoad和代码设计更改为1)以滚动视图格式显示注册表单,以避免表单在屏幕中跳转 - (UIView *)signUpForm { if (!_signUpForm) { CGRect frame = CGRectMake(0.0, kSignUpViewVisibleHeigh
- (UIView *)signUpForm
{
if (!_signUpForm) {
CGRect frame = CGRectMake(0.0, kSignUpViewVisibleHeight, kDeviceWidth, 310.0);
UIView *container = [[UIView alloc] initWithFrame:frame];
CGFloat y = 15.0;
frame = CGRectMake(15.0, y, kDeviceWidth - 2*15.0, kDefaultTextFieldHeight);
UITextField *field = [[UITextField alloc] initWithFrame:frame];
field.placeholder = @"Email*";
field.keyboardType = UIKeyboardTypeEmailAddress;
[container addSubview:field];
self.Email = field;
self. Email.delegate = self;
self.Email.clearButtonMode = UITextFieldViewModeWhileEditing;
CGFloat spacing = 8.0;
y = frame.origin.y + kDefaultTextFieldHeight + spacing;
frame = CGRectMake(15.0, y, kDeviceWidth - 2*15.0, kDefaultTextFieldHeight);
field = [[UITextField alloc] initWithFrame:frame];
field.placeholder = @"Password*";
field.secureTextEntry = YES;
[container addSubview:field];
self.password = field;
self.password.delegate = self;
self. password.autocapitalizationType = UITextAutocapitalizationTypeNone;
self. password.clearButtonMode = UITextFieldViewModeWhileEditing;
frame.size.height = 200.0;
y = frame.origin.y + kDefaultTextFieldHeight + spacing;
frame = CGRectMake(15.0, y, kDeviceWidth - 2*15.0, kDefaultTextFieldHeight);
field = [[UITextField alloc] initWithFrame:frame];
field.placeholder = @"Confirm Password*";
field.secureTextEntry = YES;
[container addSubview:field];
self.ConfirmPassword = field;
self. ConfirmPassword.delegate = self;
self. ConfirmPassword.autocapitalizationType = UITextAutocapitalizationTypeNone;
self.registrationFormConfirmPassword.clearButtonMode = UITextFieldViewModeWhileEditing;
y = frame.origin.y + kDefaultTextFieldHeight + 16.0;
CGFloat w = (kDeviceWidth - 2 * 15.0) / 2;
frame = CGRectMake(15.0, y, w - 2.0, kDefaultTextFieldHeight);
field = [[UITextField alloc] initWithFrame:frame];
field.placeholder = @"First Name*";
[container addSubview:field];
self.firstName = field;
self. firstName.delegate = self;
self. firstName.clearButtonMode = UITextFieldViewModeWhileEditing;
frame = CGRectMake(15.0 + w + 2.0, y, w - 2.0, kDefaultTextFieldHeight);
field = [[UITextField alloc] initWithFrame:frame];
field.placeholder = @"Last Name*";
[container addSubview:field];
self.lastName = field;
self.lastName.delegate = self;
self.lastName.clearButtonMode = UITextFieldViewModeWhileEditing;
y = frame.origin.y + kDefaultTextFieldHeight + spacing;
frame = CGRectMake(15.0, y, w, kDefaultTextFieldHeight);
field = [[UITextField alloc] initWithFrame:frame];
[self.appDel.styleManager decorateTextField:field];
field.placeholder = @"Birthday";
[container addSubview:field];
self.Birthday = field;
self.Birthday.delegate = self;
UIButton *signUpButton = [UIButton buttonWithType:UIButtonTypeCustom];
signUpButton.frame = frame;
[signUpButton setTitle:@"Sign Up" forState:UIControlStateNormal];
[signUpButton addTarget:self action:@selector(signUp:) forControlEvents:UIControlEventTouchUpInside]; [container addSubview:signUpButton];
y = frame.origin.y + kDefaultTextFieldHeight + 8.0;
frame = CGRectMake((container.frame.size.width - 192.0) / 2, y, 192.0, 34.0);
UIButton *cancelButton = [UIButton buttonWithType:UIButtonTypeCustom];
cancelButton.frame = frame;
[cancelButton setTitle:@"Cancel" forState:UIControlStateNormal];
[self.appDel.styleManager decorateButton:cancelButton];
[cancelButton addTarget:self action:@selector(cancelRegistration:) forControlEvents:UIControlEventTouchUpInside];
[container addSubview:cancelButton];
_signUpForm = container;
}
return _ signUpForm;
}
- (void)viewDidLoad
{
[super viewDidLoad];
[self.navigationController setNavigationBarHidden:YES];
self.view.backgroundColor = [self.appDel.styleManager appBackgroundGradientWithFrame:self.view.bounds];
UITapGestureRecognizer *tap = [[UITapGestureRecognizer alloc] initWithTarget:self
action:@selector(endPageEdit:)];
tap.delegate = self;
[self.view addGestureRecognizer:tap];
[self.appDel.styleManager decorateButton:self.loginWithEmailButton];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardDidShow:)
name:UIKeyboardDidShowNotification
object:nil];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(keyboardDidHide:)
name:UIKeyboardDidHideNotification
object:nil];
这是这个问题的解决方案,它的gona工作是肯定的
将所有文本文件添加到滚动视图中,并根据需要设置其内容大小。您能帮我编写代码吗?当键盘显示时,“但表单本身会跳起来并覆盖整个屏幕”是什么意思?表单会上升,并覆盖我在背景屏幕顶部的图像