7

有没有办法进行UIBarButtonItem独家接触?目前,您可以同时选择多个,并且它不断使我的应用程序崩溃。

4

5 回答 5

9

比将导航栏子类化稍微简单的方法,但想法相同;

for(UIView *temp in self.navigationController.navigationBar.subviews)
{
    [temp setExclusiveTouch:YES];
}

在添加条形按钮项目之后放置它。

于 2013-04-05T08:23:39.377 回答
8

我通过继承 UINavigationBar 和覆盖 layoutSubviews 方法来解决这个问题。像这样的东西:

- (void)layoutSubviews {
    [super layoutSubviews];
    for (UIView *view in self.subviews) {
        view.exclusiveTouch = YES;
    }
}
于 2013-01-10T08:41:37.677 回答
3

回顾过去,我道歉。我偶然发现了这一点,并希望有比遍历子视图更好的方法。

我发现以下内容使 UIBarButtonItems 独占:

[self.navigationController.navigationBar setExclusiveTouch:YES]; 

iOS7可能已经继承了独家触摸。

于 2014-05-13T13:40:56.793 回答
0

在 iOS 7 中它不起作用。我已经使用这种方法来尝试修复它。

for(UIView *temp in self.navigationController.navigationBar.subviews){
    [temp setExclusiveTouch:YES];
    for(UIView *temp2 in temp.subviews){
        [temp2 setExclusiveTouch:YES];
    }
 }
于 2014-02-26T12:04:43.300 回答
-1

这不适用于使用 initWithTitle 创建的 UIBarButtonItem

于 2013-12-09T15:38:36.043 回答