0

我想创建一个如下所示的 UITabbar,但我不知道这样做的逻辑是什么。

在此处输入图像描述

4

1 回答 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 回答