iphone: прокрутка в представлении - PullRequest
0 голосов
/ 16 марта 2011

Я хотел бы задать основной вопрос по iphone. У меня есть много TextFields в представлении iPhone, когда я нажимаю для ввода в TextField, клавиатура отображается и скрывает другие TextField. Я хотел бы сделать родительский вид прокручиваемым. Не могли бы вы показать мне пример кода?

Большое спасибо

Ответы [ 3 ]

2 голосов
/ 16 марта 2011
2 голосов
/ 16 марта 2011

Вы можете прослушивать уведомления клавиатуры вверх и вниз.и переместите ваш взгляд чуть выше высоты клавиатуры.

В методе ViewWillAppear:

NSNotificationCenter *nc = [NSNotificationCenter defaultCenter];
[nc addObserver:self selector:@selector(keyboardWillShow:) name: UIKeyboardWillShowNotification object:nil];
[nc addObserver:self selector:@selector(keyboardWillHide:) name: UIKeyboardWillHideNotification object:nil];

В методе ViewWillDisAppear:

  [[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillShowNotification object:nil]; 
    [[NSNotificationCenter defaultCenter] removeObserver:self name:UIKeyboardWillHideNotification object:nil]; 

А затем используйте методы, упомянутые выше, для регулировки положениябар:

-(void) keyboardWillShow:(NSNotification *) note
{
    CGRect r  = bar.frame, t;
    [[note.userInfo valueForKey:UIKeyboardBoundsUserInfoKey] getValue: &t];
    r.origin.y -=  t.size.height;
    bar.frame = r;
}




 -(void) keyboardWillHide:(NSNotification *) note
    {
        CGRect r  = bar.frame, t;
        [[note.userInfo valueForKey:UIKeyboardBoundsUserInfoKey] getValue: &t];
        r.origin.y +=  t.size.height;
        bar.frame = r;
    }
1 голос
/ 16 марта 2011

Если родительским видом является UIScrollView, попробуйте что-то вроде делегата текстового поля

- (BOOL) textFieldShouldReturn:(UITextField *)theTextField
{   

    if (theTextField == textFieldName)  { 
        [scroll scrollRectToVisible:CGRectMake(0, 160, 280, 440) animated:YES];//choose the rect accordingly.
    }
    return YES; 

}
...