我正在iOS 5上开发我的第一个Apple产品。当我不使用UITabBarController时,在多个场景中维护一致的UITabBar对象的最佳方法是什么?它只是一个标准的UIViewController。我的标签栏就像我想要的一样在一个场景上工作,我希望能够将它复制到我的其他4个场景中。
答案 0 :(得分:1)
使用UIAppearance
API在所有UITabBar
个实例上设置视觉属性。
id appearance = [UITabBar appearance];
[appearance setBackgroundImage:someImage];
[appearance setTintColor:someTintColor];
//...
Here是可以在UITabBar
的{{1}}代理上设置的属性列表:
答案 1 :(得分:1)
我认为这个创新的答案会用于你 Physical Button
答案 2 :(得分:0)
假设您确实不想使用UITabViewController
,那么请让您的应用程序委托维护对全局UITabBar
对象的引用,并在从视图切换到视图时,您可以请求实例并将其添加到视图层次结构中。
答案 3 :(得分:0)
这非常简单易行(我已在多个应用中完成)。
随时提出任何问题。
答案 4 :(得分:0)
您可以使用视图来包装您想要动态的内容。然后,您可以将第一个可见视图添加为此视图的子视图。接下来,您需要为视图(当前视图和要更改的视图)之间的过渡设置动画,以模拟更改视图控制器。这是我在两个视图之间使用的代码。我的“包装器”视图称为内容视图。您需要将其与您设置的标签栏进行整合...
[ contentView addSubview:view2 ];
[ view1 removeFromSuperview ];
CATransition *animation = [ CATransition animation ];
[ animation setType:kCATransitionPush ];
[ animation setSubtype:kCATransitionFromRight ];
[ animation setDuration:0.5 ];
[ animation
setTimingFunction:[ CAMediaTimingFunction
functionWithName:kCAMediaTimingFunctionEaseInEaseOut
]
];
[[ contentView layer ]
addAnimation:animation
forKey:@"currentTransition"
];
尝试一下!
答案 5 :(得分:0)
这不是标准方式,但如果您真的想在不使用tabBar的情况下在应用程序中提供tabBar功能。
在每个视图(尺寸为199 X 49)的底部创建一个4-5个自定义按钮(带图像),以便它完全消耗视图的底部(如tabBar)。只允许其中一个按钮操作一个视图休息全部被禁用。此外,您提供的按钮功能应更改图像以显示单击当前选项卡。