UITableView с отображением одной строки - Как переместить другую строку в область отображения с анимацией? - PullRequest
1 голос
/ 01 декабря 2011

Я хочу создать меню для моего приложения, например нижнее меню приложения Camera + в itunes: http://itunes.apple.com/us/app/id329670577?mt=8 (рис. 2). Это обзор, в 5 минут 17 секунд: http://www.youtube.com/watch?v=ZNJzhyb7mNI#t=5m17s

Я настроил UITableViewCell, чтобы строка содержала массив кнопок с горизонтальной прокруткой. Затем я создаю UITableView с пользовательским UITableViewCell для меню. Мой вопрос: Как изменить другую строку в видимой области с анимацией, как меню Camera +. Спасибо!

Ответы [ 2 ]

1 голос
/ 02 декабря 2011

Мое решение: Я создаю 1 NSArray*, чтобы содержать текущее имя меню: menuDataSource. menuDataSource содержит только текущее меню.

-(UITableViewCell*) tableView:(UITableView *)tableView cellForRowAtIndexPath:(NSIndexPath*)indexPath
{
return [menuDataSource objectAtIndex:0];

}

Когда пользователь меняет меню, я воссоздаю menuDataSource с новым меню:

[internalTableView beginUpdates];
currentHorizonMenu = [[self.reusableCells objectAtIndex:menuIndex]retain];
menuDataSource = [NSMutableArray array];
[internalTableView deleteRowsAtIndexPaths:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:0 inSection:0]] withRowAnimation:UITableViewRowAnimationTop];
[menuDataSource addObject:currentHorizonMenu];
[internalTableView insertRowsAtIndexPaths:[NSArray arrayWithObject:[NSIndexPath indexPathForRow:0 inSection:0]] withRowAnimation:UITableViewRowAnimationBottom];        
[internalTableView endUpdates];

self.reusableCells is NSArray* содержит все меню

0 голосов
/ 02 декабря 2011

Отправьте scrollToRowAtIndexPath:atScrollPosition:animated: в вашу таблицу.Что-то вроде этого:

[self.menuTable scrollToRowAtIndexPath:someIndexPath
    atScrollPosition:UITableViewScrollPositionMiddle
    animated:YES];
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...