我想创建一个如下所示的 UITabbar,但我不知道这样做的逻辑是什么。
问问题
95 次
1 回答
0
这是一个很大的答案:
首先,你需要创建一个 UIView 子类来获得一个看起来像你想要的栏的视图。它可以由一个背景 UIImageView 和三个按钮组成。
然后,最好的办法是创建 UITabBarController 的子类,并在其 viewDidLoad 中或在流程将只经过一次的任何点,实例化一个在第一个点指定类型的视图。您应该放置此视图的框架以隐藏控制器的原始标签栏。
这将是自定义栏头文件:
@interface CustomBar : UIView
{
}
@property (nonatomic, retain) UIImageView *backgroundView;
@property (nonatomic, retain) NSArray *buttons;
@end
您可以轻松完成实施。您可以尝试寻找如何使用 nib 文件对其进行实例化,以使其更易于设计。为了测试,您可以首先将背景颜色设置为绿色或可见的东西。
然后,这将是 UITabBarController 类的子类:
@interface CustomTabBarController : UITabBarController
@property (nonatomic, retain) CustomBar *customBar;
@end
@implementation CustomTabBarController
- (void)viewDidLoad
{
[super viewDidLoad];
self.customBar = [[[CustomBar alloc] initWithFrame:[self.tabBar frame]] autorelease];
[self.view addSubview:self.customBar];
}
@end
如果您不使用 ARC,请记住实现 dealloc。我没有在这里整理的是如何在自定义栏和 tabbarcontroller 的按钮之间创建通信。这应该由代表解决。如果您需要帮助,我也会完成。
祝你好运!
于 2013-05-22T23:06:41.913 回答