我试图在我的应用程序中实现可隐藏的UITabBar。我制作了所有的动画,并且效果很好。我只是遇到了一个问题,让我的UIButton“pull-tab”显示标签栏。它不响应触摸事件UIControlEventTouchUpInside。 我拉选项卡添加到UITabBar中的UITabBarController:将UIButton作为子视图添加到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之外...动画噩梦。
那么,它可能是你可以继承UITabBar,弄清楚如何让你的子类用于UITabBarController(它的子类),然后在你的UITabBar子类中创建一个更大的框架,让UITabbar使用它的正常框架,但现在你的子类应该得到所有的水龙头等。如果是我,我会首先尝试在演示项目中执行UITabBar子类,只有当这些作品试图让它与所有其他机器一起工作时。祝你好运! – 2012-07-21 02:17:59
@Brandon Mcq嘿,我期待着同样的事情 - 你有没有想出一个好的解决方案?谢谢! – RyanG 2012-12-17 21:09:16
@Brandon Mcq刚刚看到你的github,看看这个谢谢! – RyanG 2012-12-17 21:21:39