Прокрутите UITableView фрейма проблемы, чтобы увидеть UITextField в ячейке? - PullRequest
0 голосов
/ 29 февраля 2012

В моем приложении у меня есть UITableView, который имеет несколько пользовательских ячеек, и в тех, которые я поместил UITextField.То, что UITextField иногда блокируется моей клавиатурой, является проблемой.Поэтому в моей ситуации я пытаюсь переместить весь вид таблицы, а не просто прокручивать ее до определенной ячейки, что было для меня проблемой.

В любом случае у меня тоже возникают проблемы.

В любом случаеэто мой код для метода показа textField и метода окончания.Проблема в том, что UITableView никогда не перемещает правильное количество.Я просто пытаюсь переместить UITableview достаточно вверх, чтобы ячейка, в которой вызывается UITextField, находилась чуть выше клавиатуры. Так что иногда он слишком сильно прокручивается там, где я не вижу ячейку, или весь просмотр таблицы движется сумасшедшим образом, когда я ее вообще не вижу.

В любом случае, вот мой код,кто-нибудь видит что-то не так?

- (BOOL)textFieldShouldBeginEditing:(UITextField *)thetextField {
    CustomCell *cell = (CustomCell*)[[thetextField superview] superview];
    CGRect cellRect = [cell convertRect:cell.frame toView:self.view];
    float bottomCell = cellRect.origin.y - cellRect.size.height;
    if (bottomCell >= keyboardY) {
        subtractionAmount = keyboardY - bottomCell;
        didMove = YES;
        [UIView animateWithDuration:0.4 
                         animations:^{
                             thetableView.center = CGPointMake(thetableView.center.x, thetableView.center.y + subtractionAmount);
                         }];
    }
    return YES;
}

-(BOOL) textFieldShouldReturn:(UITextField *)thetextField {  
    if (didMove) {
        didMove = NO;
        [UIView animateWithDuration:0.4 
                         animations:^{
                             thetableView.center = CGPointMake(thetableView.center.x, thetableView.center.y - subtractionAmount);
                         }];
    }

Спасибо!

1 Ответ

0 голосов
/ 29 февраля 2012

Если я правильно понял вашу проблему, я столкнулся с этой проблемой месяц назад. Мой сценарий был следующим: UITableView с UITextField s без UITableViewController.

Я исправил проблему с помощью следующего учебника: скользящие-uitextfields-around-to-избежать .

Надеюсь, это поможет.

...