Xcode Swift 第二个容器中的按钮不起作用

Xcode Swift buttons in second container don't work

我是 IOS 编程新手。我遇到了一个问题。有一个 viewController 并且在这个视图控制器中我的应用程序中有 2 个容器。两个容器中都有按钮。所有容器都隐藏在开头。当特定情况发生时,这些容器之一就会出现。当显示第一个容器时,此容器中的按钮工作正常,但如果显示其他容器,则此容器中的按钮不起作用。此容器中的按钮出现但不起作用。所有这两个容器都是相同的。我不明白为什么第二个容器的按钮不起作用。

如有任何帮助,我们将不胜感激。

我的一些与此问题相关的代码是;

@IBOutlet weak var Snakky: UIInputView!
@IBOutlet weak var Kikko: UIInputView!


if(vmcType == 1)
        {
            Snakky.accessibilityActivate()
            
            Snakky.isHidden = false
           
            Kikko.isHidden = true
  
        }
        
        if(vmcType == 2)
        {
            Kikko.accessibilityActivate()
           
            Snakky.isHidden = true
            
            Kikko.isHidden = false

        }

 //One of my button function;

 @IBAction func bkey0(_ sender: Any) {

    keypadKeys += "0";
    print("Keypad=", keypadKeys)

    return
    
}

所有按钮功能相同。

容器 class 是 UIInputViewController

Storyboard design picture

4x3 矩阵键盘按钮在第一个容器中工作良好,但 -,+ 按钮在第二个容器中不起作用。

@valid 给我发了一个 link。我读了它并在下面添加了一个class。我将这个 class 分配给了 Snakky 和 ​​Kikko 容器。顺便说一句,Snakky 是一个带有 4x3 按钮的容器,而 Kikko 是一个带有 2 个按钮(-,+)的容器。这是触摸测试功能。当显示 Snakky 时,触摸测试打印“Touch”,但当显示 KiKko 时,触摸测试打印“No touch”。 Kikko 的按钮已显示但无响应。 Kikko 和 Snakky 的屏幕图像如下。

Kikko screen image

Snakky screen image

class PassThroughView: UIView {

override func point(inside point: CGPoint, with event: UIEvent?) -> 
Bool {
        for subview in subviews as [UIView] {
            if !subview.isHidden && subview.alpha > 0 && 
subview.isUserInteractionEnabled && subview.point(inside: 
convert(point, to: subview), with: event) {
                print("Touch")
                return true
            }
        }
    print("No touch")
        return false
    }
}

我解决了这个问题。这是非常奇怪的情况。我只向 Kikko 容器添加了高度限制,问题就解决了。