9

我正在尝试在我的应用程序中实现一个可隐藏的 UITabBar。我已经设置了所有的动画,它们工作得很好。我只是在让我的 UIButton“拉标签”显示标签栏时遇到问题。它没有响应触摸事件 UIControlEventTouchUpInside。我将下拉选项卡添加到 UITabBarController 中的 UITabBar:

- (void)viewDidLoad
{
    [super viewDidLoad];
//Add pull
    pullButton = [UIButton buttonWithType:UIButtonTypeCustom];
    UIImage *image = [UIImage imageNamed:@"TabBarPull.png"];
    pullButton.frame = CGRectMake(self.tabBar.frame.size.width - image.size.width, -image.size.height + 3, image.size.width, image.size.height);
    [pullButton setImage:image forState:UIControlStateNormal];
    [pullButton addTarget:self action:@selector(pullBarTapped:) forControlEvents:UIControlEventTouchUpInside];
    pullButton.userInteractionEnabled = YES;
    [self.tabBar addSubview:pullButton];
}

这是标签栏打开和关闭的样子:

TabBar 未隐藏 标签栏隐藏

编辑:我已经确定问题是因为按钮落在了 UITabBar 的框架之外。看起来我将不得不将按钮放在 UITabBar 之外......动画噩梦。

4

2 回答 2

14

您仍然可以将 添加UIButtonUITabBarController的主视图中,而不是在UITabBar...中。[myUITabBarController.view addSubview:pullButton]

于 2012-07-21T04:44:50.093 回答
0

由于您有隐藏部分在 UITabbar 中工作并且从我在这里看到的答案中,一种替代方法是将 UIButton 保留在 UITabbar 中,但在隐藏 UITabbar 时也将按钮添加到视图中(所以你将有两个按钮那个覆盖)。当标签栏显示时,使用视图上的hidden属性隐藏您添加到视图中的按钮。

于 2012-07-21T06:37:24.403 回答