快速单击导航栏按钮会导致视图被多次推送

时间:2016-08-01 10:31:16

标签: ios objective-c uinavigationcontroller uibarbuttonitem uistoryboardsegue

我正在使用3个视图控制器A,B,C。 在故事板中添加了推送segue,从A到B(比如segue1)和B到C(比如segue2)。 A嵌入在导航控制器中。

在A中,我正在添加一个右键控制按钮并对其动作执行segue1。 同样在B中,我正在添加另一个右键栏并在其动作上执行segue2。

如果我多次快速单击按钮,则视图B会被推一次,然后视图C会被多次按下。

这是一个已知问题吗?或者我的实施中有什么问题吗?

编辑:添加代码

ViewController A:

- (void)viewDidLoad {
    [super viewDidLoad];

    UIBarButtonItem *addButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(insertB:)];
    self.navigationItem.rightBarButtonItem = addButton;
}

- (void)insertB:(id)sender {
    [self performSegueWithIdentifier:@"segue1" sender:sender];
}

ViewController B:

- (void)viewDidLoad {
    [super viewDidLoad];
    UIBarButtonItem *addButton = [[UIBarButtonItem alloc] initWithBarButtonSystemItem:UIBarButtonSystemItemAdd target:self action:@selector(insertC:)];
    self.navigationItem.rightBarButtonItem = addButton;
}

- (void)insertC:(id)sender {
    [self performSegueWithIdentifier:@"segue2" sender:sender];
}

1 个答案:

答案 0 :(得分:0)

按下按钮时,将userInteractionEnabled属性设置为false,推后将其更改为true