我想为我的应用制作一个菜单,例如itunes中的Camera + app的底部菜单:http://itunes.apple.com/us/app/id329670577?mt=8(图2)。 这是一篇评论,时间为5分17秒:http://www.youtube.com/watch?v=ZNJzhyb7mNI#t=5m17s
我自定义UITableViewCell使一行包含带水平滚动的按钮数组。然后我创建一个带有自定义UITableViewCell菜单的UITableView。 我的问题:如何使用Camera +菜单等动画将另一行更改为可见区域。 谢谢!
答案 0 :(得分:1)
我的解决方案:
我创建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
NSArray*
包含所有菜单
答案 1 :(得分:0)
将scrollToRowAtIndexPath:atScrollPosition:animated:
发送到您的表格视图。有点像这样:
[self.menuTable scrollToRowAtIndexPath:someIndexPath
atScrollPosition:UITableViewScrollPositionMiddle
animated:YES];