У меня есть UIView с другим UIView внутри него. На внутренней стороне UIView есть текстовое поле, которое я хочу заполнить. Когда я пытаюсь заполнить его в клавиатуре, блокирует мой вид:
UIViewController имеет следующее
containerView = [[UIView alloc] initWithFrame:[UIScreen mainScreen].bounds];
self.view=containerView;
//The apropriate releases etc are further on...
Когда я прикасаюсь к ней, клавиатура появляется, как и ожидалось, но блокирует текстовое поле, которое я пытаюсь заполнить. Как заставить вид скользить вверх?
Вид спереди
OptionsFront * fv = [[OptionsFront alloc] initWithFrame:[UIScreen mainScreen].bounds];
[containerView addSubview:frontView];
На виде спереди есть подпредставление
CGRect bounds = CGRectMake(0.0f, 210.0f, 280.0f, 130.0f);
sv = [[UIView alloc] initWithFrame:bounds];
[self addSubview:sv]; //added to frontView
В sv есть текстовое поле рядом с кнопкой:
rect = CGRectMake(70.0f, 20.0f, 100.0f, 27.0f);
cf = [self createTextField_Rounded:rect holder:@"+ve"];
[sv addSubview:cf];
Так что cf оказался в нижней части страницы. Я ожидал, что когда я выберу его, весь экран будет двигаться вверх, но клавиатура просто поднимается и блокирует его.
Что я могу сделать?
Приложение:
- (UITextField *)createTextField_Rounded:(CGRect) frame holder:(NSString *) ph
{
UITextField *returnTextField = [[UITextField alloc] initWithFrame:frame];
returnTextField.borderStyle = UITextBorderStyleRoundedRect;
returnTextField.textColor = [UIColor blackColor];
returnTextField.font = [UIFont systemFontOfSize:17.0];
returnTextField.delegate = self;
returnTextField.keyboardType = UIKeyboardTypeNumbersAndPunctuation;
returnTextField.returnKeyType = UIReturnKeyDone;
returnTextField.clearButtonMode = UITextFieldViewModeWhileEditing;
return returnTextField;
}