我正在为 iPhone 应用程序设计 UI,我们将在底部有一个标准的 4 个标签栏。我们正在考虑以上下文的方式使用相同的标签栏,这样当您点击搜索结果时,底部的选项将更改为与所按下的项目相关。
这种做事方式是否代表了一个巨大的可用性问题,或者如果我们对执行保持一致就可以吗?
底部的 screen1 选项卡导航:ABCD:
-点击搜索结果
- 新页面侧重于结果的详细视图
底部的 screen2 选项卡导航:EFGH:
我正在为 iPhone 应用程序设计 UI,我们将在底部有一个标准的 4 个标签栏。我们正在考虑以上下文的方式使用相同的标签栏,这样当您点击搜索结果时,底部的选项将更改为与所按下的项目相关。
这种做事方式是否代表了一个巨大的可用性问题,或者如果我们对执行保持一致就可以吗?
底部的 screen1 选项卡导航:ABCD:
-点击搜索结果
- 新页面侧重于结果的详细视图
底部的 screen2 选项卡导航:EFGH:
不可能在同一个 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 并将其添加到视图中。