隐藏和取消隐藏后UIButton中断

时间:2019-06-29 06:52:58

标签: ios swift uibutton

我在视图中的故事板上创建了一些UIButton。按下一个按钮,我将它们全部隐藏,并弹出一堆以编程方式创建的新UIButton(其中一个是“后退”按钮)。

当我按下后退按钮(隐藏新按钮并显示原始按钮)时,它们不再起作用。 据我所知,它根本不涉及@IBAction。它没有注册匹配。

//Hide buttons originally
        for button in menuButtonArray {
            button.isHidden = true
            button.isEnabled = false
        }

//Reveal buttons when "back" button is hit
        for button in menuButtonArray {
             button.isHidden = false
             button.isEnabled = true
        }

我尝试使用.isUserInteractionEnabled无济于事。我尝试删除以编程方式创建的按钮(而不仅仅是隐藏它们)。我尝试隐藏包含按钮而不是按钮本身的堆栈。

我认为这应该只是隐藏并显示按钮,但是以某种方式破坏了它们?

更奇怪的是,它不会破坏所有按钮。我的堆栈中的顶部和底部按钮有效,但中间的6个按钮无效。


更新

下面是我如何创建按钮并将其添加到menuButtonArray的方法。 我已经检查了是否在启用和禁用按钮前后对每个按钮进行了打印,看似正确地添加和删除了标签。而且,它们隐藏和隐藏都没有问题。谢谢您的帮助!

var menuButtonArray: [UIButton] = [UIButton]()
override func viewDidLoad() {
    menuButtonArray += [button1, button2, button3, button4, button5, button6, button7]
}

1 个答案:

答案 0 :(得分:0)

啊哈!谢谢您的帮助!我想到了。 @finalstatic我检查了图层。当我以编程方式创建按钮时,我使用UIStackView的网格来排列它们。我以为,如果为空,它们只会通过点击到达其下一层。显然不是,虽然哈哈! 我也通过隐藏UIStackView来解决它!