将UIButton作为子视图添加到UITabBar

时间:2012-07-21 01:23:35

标签: ios uiview uibutton uitabbarcontroller uitabbar

我正在尝试在我的应用中实现可隐藏的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 not hidden TabBar Hidden

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

2 个答案:

答案 0 :(得分:12)

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

答案 1 :(得分:0)

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