自定义行为时,“背”,在导航栏按钮按下
问题描述:
我知道,你可以自定义的“后退”按钮添加到UINavigationBar的,但这样做删除与锥左侧的现有按钮,在What happens when back button is pressed in navigationBar自定义行为时,“背”,在导航栏按钮按下
描述有没有办法保持现有的行为和后退按钮的外观,但是当按下按钮时也会被通知?
基本上,我希望我的应用在任何按钮被触摸时播放声音。我可以通过它的委托与UITabBarController来完成,但UINavgationBarController的委托没有这样的功能。
答
以下是视图控制器消失的可能性。
- 点击一个按钮(除了backBarButtonItem)。
- 点击backBarButtonItem
两种情况viewWillDisappear:
方法将被调用。保留布尔标志。让我们命名它isAnyButtonClicked。并且每当任何按钮被点击时设置isAnyButtonClicked = YES
。并覆盖viewWillDisappear:
方法,并在没有按钮被点击的情况下播放声音(即,isAnyButtonClicked == NO
)。也许你viewWillDisappear:
会是什么样子,
- (void)viewWillDisappear:(BOOL)animated {
[super viewWillDisappear:animated];
if (!isAnyButtonClicked) {
// Play sound
isAnyButtonClicked = NO;
}
}
我的猜测,将是视图控制器的viewWillDisappear:或viewDidDisappear:工作? – 2011-02-09 02:38:30
你可以在后退按钮顶部的透明按钮,然后将其发送到 – blindjesse 2011-02-09 03:02:20