Добавьте UIButton в нижний колонтитул или верхний колонтитул UITableView - PullRequest
0 голосов
/ 10 октября 2011

Я добавил вид с помощью кнопки в заголовке UITableView.Я правильно установил высоту, и кнопка фактически работает, когда клавиатура не отображается.Когда какое-то текстовое поле было нажато (UITextField in Cell), будет показана клавиатура, и я установил меньший размер рамки табличного представления, чтобы можно было щелкать ячейку, но проблема заключается в кнопке - когда кнопка пересекается с некоторыми из них в табличном представлениикогда кнопка отображается не полностью), кнопка не работает и работает, когда кнопка отображается полностью.

Я пробовал ее, поместив кнопку в представление прокрутки, а не в заголовок нижнего колонтитула или таблицы.работает отлично.Это какая-то ошибка заголовка UITableView?Это можно исправить?

1 Ответ

0 голосов
/ 10 октября 2011

Добавьте следующее в ваш код:

-(BOOL)textFieldShouldEndEditing:(UITextField *)textField
{

      if(textField.tag != [[[yourTable indexPathsForVisibleRows] objectAtIndex:0]row])
          [self animateTextField: textField up: NO];
    return YES;
}

- (void)textFieldDidBeginEditing:(UITextField *)textField
{

    if(textField.tag != [[[yourTable indexPathsForVisibleRows] objectAtIndex:0]row])
    [self animateTextField: textField up: YES];
}

- (void) animateTextField: (UITextField*) textField up: (BOOL) up
{
    const int movementDistance = 300; // tweak as needed
    const float movementDuration = 0.3f; // tweak as needed

    int movement = (up ? -movementDistance : movementDistance);

    [UIView beginAnimations: @"anim" context: nil];
    [UIView setAnimationBeginsFromCurrentState: YES];
    [UIView setAnimationDuration: movementDuration];
    self.view.frame = CGRectOffset(self.view.frame, 0, movement);
    [UIView commitAnimations];
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...