我正在为iPhone应用程序设计UI,我们将在底部有一个标准的4个标签栏。我们正在考虑以上下文方式使用相同的标签栏,这样当您点按搜索结果时,底部的选项将更改为与按下的项目相关联。
这种做事方式是否代表了巨大的可用性问题,或者如果我们对执行情况保持一致,这是否可以呢?
屏幕1选项卡导航底部:A B C D:
- 点击搜索结果
- 新页面聚焦于结果的详细视图
屏幕2选项卡横跨底部导航:E F G H:
答案 0 :(得分:0)
不可能在同一个tabBar上执行此操作,您可以隐藏tabBar并显示另一个带有所需项目的tabBar,您可以使用以下方法隐藏/显示tabBar:
- (void)hideTabBar:(UITabBarController *) tabbarcontroller
{
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.5];
for(UIView *view in tabbarcontroller.view.subviews)
{
if([view isKindOfClass:[UITabBar class]])
{
[view setFrame:CGRectMake(view.frame.origin.x, 480, view.frame.size.width, view.frame.size.height)];
}
else
{
[view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 480)];
}
}
[UIView commitAnimations];
}
- (void)showTabBar:(UITabBarController *) tabbarcontroller
{
[UIView beginAnimations:nil context:NULL];
[UIView setAnimationDuration:0.5];
for(UIView *view in tabbarcontroller.view.subviews)
{
NSLog(@"%@", view);
if([view isKindOfClass:[UITabBar class]])
{
[view setFrame:CGRectMake(view.frame.origin.x, 431, view.frame.size.width, view.frame.size.height)];
}
else
{
[view setFrame:CGRectMake(view.frame.origin.x, view.frame.origin.y, view.frame.size.width, 431)];
}
}
[UIView commitAnimations];
}
您可以使用以下方法:
[self hideTabBar:self.tabBarController];
[self showTabBar:self.tabBarController];
隐藏tabBar时,启动一个新的tabBar并将其添加到视图中。