3
UINavigationControllerが提供するUIToolbarへの背景のタッチを検出したい(またはタップする)ことを検出したいと思います。私が試してみました物事は動作しないこと(または私が仕事を得ることができなかったこと):UINavigationControllerツールバーの背景にタッチを検出する方法
- UIToolbarにUITapGestureControllerを追加する - これが失敗し、それがタップを検知んが、それはボタンので、タッチを消費するので柔軟なスペースがタッチをピックアップして表示されません(十分な公正と思われる)
- UIBarButtonSystemItemFlexibleSpaceあるUIBarButtonItem上のターゲットとアクションを設定
CGSize toolbarSize = [[[self navigationController] toolbar] frame].size;
UIControl* backgroundControl = [[UIControl alloc] initWithFrame: CGRectMake(0, 0, toolbarSize.width, toolbarSize.height)];
[backgroundControl addTarget:self action:@selector(toolbarBackgroundTap) forControlEvents:UIControlEventTouchDown];
[backgroundControl setAutoresizingMask: [[[self navigationController] toolbar] autoresizingMask]];
[[[self navigationController] toolbar] insertSubview:backgroundControl atIndex:0];
[backgroundControl release];
@bdares:
大きなボタンを追加して、そのZ値を最も低く設定できませんでしたか? 'UIToolbar'は' UIView'ですので、できるはずです。 – bdares