ios - Swift - 将目标添加到 subview 内的 UIButton

标签 ios swift uibutton subview

我的 UIButton 有问题。仅供基本理解:

  1. 用户点击按钮 -> popUpView 出现 (UIView)
  2. 用户点击 UIButton,它是 popUpView 的 subview -> popUpView 关闭

这是我的代码:

    @objc func addWishButtonTapped(notification : Notification){
    
    view.addSubview(popUpView)
    
    popUpView.addSubview(popUpTextField)
    popUpView.addSubview(wishButton)
    
    
    // constrain popUpView
    popUpView.centerXAnchor.constraint(equalTo: view.centerXAnchor).isActive = true
    popUpView.centerYAnchor.constraint(equalTo: view.centerYAnchor, constant: -100).isActive = true
    popUpView.heightAnchor.constraint(equalToConstant: 200).isActive = true
    popUpView.widthAnchor.constraint(equalToConstant: view.frame.width - 85).isActive = true
    
    // constrain wishButton
    wishButton.centerXAnchor.constraint(equalTo: popUpView.centerXAnchor).isActive = true
    wishButton.centerYAnchor.constraint(equalTo: popUpView.centerYAnchor, constant: 130).isActive = true
    wishButton.heightAnchor.constraint(equalToConstant: 100).isActive = true
    wishButton.widthAnchor.constraint(equalToConstant: 100).isActive = true

    // constrain textField
    popUpTextField.centerXAnchor.constraint(equalTo: popUpView.centerXAnchor).isActive = true
    popUpTextField.centerYAnchor.constraint(equalTo: popUpView.centerYAnchor, constant: -50).isActive = true
    popUpTextField.heightAnchor.constraint(equalToConstant: 40).isActive = true
    popUpTextField.widthAnchor.constraint(equalToConstant: view.frame.width - 170).isActive = true

    popUpView.transform =  CGAffineTransform(scaleX: 1.3, y: 1.3)
    popUpView.alpha = 0
    
    UIView.animate(withDuration: 0.3) {
        self.visualEffectView.alpha = 1
        self.popUpView.alpha = 1
        self.popUpView.transform = CGAffineTransform.identity
    }
    
    // make whishButton clickable
    self.wishButton.addTarget(self, action: #selector(wishButtonTapped), for: .touchUpInside)
}

@objc func wishButtonTapped(){
    print("test")
    insertWhish()
    dismissPopUpView()
}

问题:

whishButton 不可点击,我不知道为什么..我已经坚持了一段时间所以我很感激任何帮助,谢谢 :)

更新

这是我的 View 层次结构:

enter image description here

真的很奇怪,因为所选的 UIImage 实际上应该是 UIButton,在我的例子中它位于它后面(100x100 正方形)。我肯定将我的 whishButton 声明为实际的 UIButton()

最佳答案

首先,试试这条线

self.popUpView.bringSubviewToFront(whishButton)

如果有必要试试这条线

self.popUpView.sendSubview(yourImageBackGround)

关于ios - Swift - 将目标添加到 subview 内的 UIButton,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58997680/

相关文章:

ios - 布局水平 anchor 问题 - Swift 3

ios - avplayer无法播放通过IOS Objective-C中的设备相机捕获的视频中的音频

ios - 使用 UIWebView 和/或 UITableView 创建下拉效果

swift - 如何设置 Canvas 预览语言?

swift - “ fatal error :在展开可选值时意外发现nil”是什么意思?

ios - AVAssetWriterInput 附加失败,错误代码为 -11800 AVErrorUnknown -12780

arrays - Swift的String.count的BigO是什么?

ios - 启用/禁用时从TextColor之类的按钮更改BorderColor

ios - 获取 iPhone 5/6/6+ 的 UIButton 的可变高度

ios4 - UINavigationItem BackButtonItem 不显示