我正在尝试在我的应用中实现可隐藏的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];
}
以下是标签栏打开和关闭的内容:
编辑:我已经确定问题是因为按钮落在UITabBar的框架之外。看起来我不得不把按钮放在UITabBar ...动画噩梦之外。
答案 0 :(得分:12)
您仍然可以将UIButton
添加到UITabBarController
的主视图中,而不是UITabBar
.... [myUITabBarController.view addSubview:pullButton]
答案 1 :(得分:0)
由于你有隐藏部分在UITabbar中工作,并且从我在这里看到的答案,一个替代方法是将UIButton保持在UITabbar中,但是当UITabbar被隐藏时也将按钮添加到视图中(所以你会有两个覆盖的按钮)。显示标签栏时,使用视图上的隐藏属性隐藏您添加到视图中的按钮。