我想在用户点击我的其中一个 View 的导航栏标题时触发触摸事件。
对于是否可以访问 UINavigationBar 的标题 View 以便将触摸事件连接到它,我有点不知所措。
这可能吗?
最佳答案
您可以将手势识别器添加到导航 Controller 的标题上。 我发现在 navigationBar subview 中,标题是索引为 1 的那个,左侧按钮的索引为 0,右侧按钮的索引为 2。
UITapGestureRecognizer *navSingleTap = [[UITapGestureRecognizer alloc] initWithTarget:self action:@selector(navSingleTap)];
navSingleTap.numberOfTapsRequired = 1;
[[self.navigationController.navigationBar.subviews objectAtIndex:1] setUserInteractionEnabled:YES];
[[self.navigationController.navigationBar.subviews objectAtIndex:1] addGestureRecognizer:navSingleTap];
然后在您的实现中的某处实现以下内容。
-(void)navSingleTap
因此您可以将其用于单击,或者您可以在该标题上实现您想要的任何手势识别器。
关于ios - UINavigationBar Touch,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2077025/